Java包装器类真的是不可变的吗?

PetrosB:

Java包装器类应该是不可变的。这意味着一旦创建了对象,例如

Integer i = new Integer(5);

其值不能更改。但是,这样做

i = 6;

是完全有效的。

那么,在这种情况下不变性是什么意思?这与自动装箱/拆箱有关吗?如果是这样,有什么办法可以防止编译器执行此操作?

谢谢

bmargulies:

i是参考。您的代码将引用更改i为指向另一个相同的,不变的Integer

final Integer i = Integer.valueOf(5);

可能会更有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章