java封装类中的是只读类,请问怎么理解?

比如Java中的Integer封装类我用:Integerin=newInteger(3);这个时候我可以在改变in的值,in=5;请问这个怎么理解封装类是只读?... 比如Java中的Integer封装类我用:
Integer in=new Integer(3);
这个时候我可以在改变in的值,in=5;
请问这个怎么理解封装类是只读?
展开
 我来答
fuhaiwei
2010-02-15 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1386万
展开全部
这个只读指的是对象只读,不是引用只读。
in = 5;
仅仅是把引用in指向了一个新的Integer对象,而源对象并没有任何改变,
他只是没有引用指向了,他不久后会被垃圾回收机制回收。

相似的例子是String,String也是只读的,但是我们可以
String s = "123";
s = "234";
一个可改变类型的例子是StringBuffer
StringBuffer sss = new StringBuffer("123");
sss.append("4");
这时sss变成了1234,而我们并没有改变引用,我们改变的是对象。

请注意,=运算符只能改变基本数据类型和引用,而不能改变任何对象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式