Userland自动装箱?

Hen*_*aul 5 java autoboxing

是否可以为自己的类实现自动装箱?

为了说明我的例子,这是我可能想写的:

Foo foo = "lolcat";
Run Code Online (Sandbox Code Playgroud)

这就是Java会做的事情(根据我自己的定义,在某个地方,某种程度上),在幕后:

Foo foo = new Foo();
foo.setLolcat("lolcat");
Run Code Online (Sandbox Code Playgroud)

那么,这可能是某种方式,还是仅仅是JVM功能?

小智 12

不,java不支持运算符重载(http://en.wikipedia.org/wiki/Operator_overloading).

Autoboxing是一种编译器功能,不适用于您自己的类.

这里解释了推理:http: //www.cafeaulait.org/javafaq.html#xtocid1902938

  • 这不太正确.Java不支持用户生成的运算符重载,它在类中支持运算符重载(STRINGS!) (2认同)