我知道在c ++中你可以指向一个包装器Integer对象,但似乎在java中,包装器类不会反映多个引用的变化,因为它只是将值复制到一个新的包装器中。像:
colors
我的意思是我可能会使用某些类或数据结构,但我担心它会占用太多空间,因为会有很多这些对象。关于空间高效实现对象的任何想法,该对象具有在我的程序中由各种名称引用的动态整数。我应该只为它的存储实现类(c ++)类吗?
答案 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
是不可变的。
由多个名称引用?
上述情况无关。