首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

象Integer、Boolean这么的类,居然没有setValue这样的方法

2013-03-22 
象Integer、Boolean这样的类,居然没有setValue这样的方法只能在构造方法中设初值难道偶真的要自己写个类?还

象Integer、Boolean这样的类,居然没有setValue这样的方法
只能在构造方法中设初值
难道偶真的要自己写个类?

还有一个办法,每次改值时新建一个对象,但这样效率较低(浪费存储空间)
还有别的办法吗?谢谢!!
[解决办法]
要完全解释清楚你的问题
需要涉及

封装
不可变(immutable)
工厂方法与实例化控制
实例池与实例复用

等等

当你自己去学了这些,你就知道为什么

简短的回答:

Integer实例建立以后不能再更改,好处很多,最明显的大概就是免费线程安全

当你使用Integer.valueOf()来获取实例,而不是用new的时候,不一定就是每次变数值都建立新的对象,Integer类内部存储一个实例池,好像127以内的数字都是重复使用的,并且如果我没记错的话,这个大小是可以设置的

然后,像Integer这样的简单对象,其建立成本可能比你认为的要低得多。
[解决办法]

引用:
不好意思,java已是偶最熟悉的
通过新建对象,似乎还行
偶寄希望于系统的内存管理(垃圾回收)
与竞争对手相比,偶自以为还是有优势的
偶觉得竞争对手的软件更烂


我顶你!

热点排行
Bad Request.