5

独自のクラスにオートボクシングを実装することは可能ですか?

私の例を説明するために、これは私が書きたいと思うかもしれないものです:

Foo foo = "lolcat";

そして、これは内部でJavaが行うことです(私自身の定義によると、どこかで、どういうわけか):

Foo foo = new Foo();
foo.setLolcat("lolcat");

それで、これはどういうわけか可能ですか、それともJVM機能のみですか?

4

1 に答える 1

12

いいえ、Java は演算子のオーバーロードをサポートしていません ( http://en.wikipedia.org/wiki/Operator_overloading )。

自動ボクシングはコンパイラの機能であり、独自のクラスでは使用できません。

理由はここで説明されています: http://www.cafeaulait.org/javafaq.html#xtocid1902938

于 2008-11-04T08:21:18.153 に答える