独自のクラスにオートボクシングを実装することは可能ですか?
私の例を説明するために、これは私が書きたいと思うかもしれないものです:
Foo foo = "lolcat";
そして、これは内部でJavaが行うことです(私自身の定義によると、どこかで、どういうわけか):
Foo foo = new Foo();
foo.setLolcat("lolcat");
それで、これはどういうわけか可能ですか、それともJVM機能のみですか?
独自のクラスにオートボクシングを実装することは可能ですか?
私の例を説明するために、これは私が書きたいと思うかもしれないものです:
Foo foo = "lolcat";
そして、これは内部でJavaが行うことです(私自身の定義によると、どこかで、どういうわけか):
Foo foo = new Foo();
foo.setLolcat("lolcat");
それで、これはどういうわけか可能ですか、それともJVM機能のみですか?
いいえ、Java は演算子のオーバーロードをサポートしていません ( http://en.wikipedia.org/wiki/Operator_overloading )。
自動ボクシングはコンパイラの機能であり、独自のクラスでは使用できません。
理由はここで説明されています: http://www.cafeaulait.org/javafaq.html#xtocid1902938