有没有办法让Integer对象具有由多个名称引用的更改值?

时间:2015-05-01 00:07:59

标签: java wrapper

我知道在c ++中你可以指向一个包装器Integer对象,但似乎在java中,包装器类不会反映多个引用的变化,因为它只是将值复制到一个新的包装器中。像:

colors

我的意思是我可能会使用某些类或数据结构,但我担心它会占用太多空间,因为会有很多这些对象。关于空间高效实现对象的任何想法,该对象具有在我的程序中由各种名称引用的动态整数。我应该只为它的存储实现类(c ++)类吗?

2 个答案:

答案 0 :(得分:0)

您需要了解autoboxing才能理解为什么您提供的代码没有按照您的想法行事。

Integer s = 0;
Integer j = s;
s = 2;

与:

相同
Integer s = Integer.valueOf(0);
Integer j = s;
s = Integer.valueOf(2);

你没有改变s的值,你把它指向另一个对象。

答案 1 :(得分:0)

  

是否有办法让Integer对象具有更改值

没有。 Integer是不可变的。

  

由多个名称引用?

上述情况无关。