象Integer、Boolean这样的类,居然没有setValue这样的方法
只能在构造方法中设初值
难道偶真的要自己写个类?
还有一个办法,每次改值时新建一个对象,但这样效率较低(浪费存储空间)
还有别的办法吗?谢谢!!
------解决方案--------------------要完全解释清楚你的问题
需要涉及
封装
不可变(immutable)
工厂方法与实例化控制
实例池与实例复用
等等
当你自己去学了这些,你就知道为什么
简短的回答:
Integer实例建立以后不能再更改,好处很多,最明显的大概就是免费线程安全
当你使用Integer.valueOf()来获取实例,而不是用new的时候,不一定就是每次变数值都建立新的对象,Integer类内部存储一个实例池,好像127以内的数字都是重复使用的,并且如果我没记错的话,这个大小是可以设置的
然后,像Integer这样的简单对象,其建立成本可能比你认为的要低得多。
------解决方案--------------------
我顶你!