作者:mobiledu2502891283 | 来源:互联网 | 2022-12-29 11:36
我试图确定是否可以修改Java使用的拆箱方法.这样做的目的是能够做到:
class IInteger extends Integer {
@Override
public int unboxToPrimitive(){
return ++val;
}
}
IInteger i = 10;
System.out.print(i); // 11
也就是说,重载方法并让它返回++ val而不是val.
1> Elliott Fris..:
不可以.这是不可能的,首先Integer
是final
也不能分类.其次,你不能在Java中重载运算符.接下来,您无法为自定义类型进行自动装箱.最后,您实际上并未使用拆箱println
(您可以调用print
引用类型).
但是,如果我理解你真正想要的东西,你可以使用AtomicInteger
和incrementAndGet()
(代替get()
并根据需要改变你的其他方法).