问题描述
Given:11.publicStringmakinStrings(){12.Strings="Fred";13.s=s+"47";14.s=s.substring(2,5);15.s=s.toUpperCase();16.returns.toString();17.}HowmanyStringobjectswillbecreatedwhenthismethodisinvoked?A.1B.2C.3D.4E.5F.6Answer:C
解决方案
解决方案二:
12,13的时候会创建各创建引用,也就是全新的一个对象,然后把s指向新的对象,第三个我就不太清楚了,我猜是15行的时候又创建一个对象吧,,因为string类型的对象被改变的时候是新建一个对象,不是改变当前对象..参考thinkinjava吧..说的很清楚的
解决方案三:
4个对象
解决方案四:
三个对像,看错
解决方案五:
1.s="Fred";2.s=s+"47";3.s=s.substring(2,5)String是不可变长的字符对像,每改变一次长度,就会重新NEW一个StringObject.注意其与StringBuffer的区别!
解决方案六:
原来如北!
解决方案七:
首先福值给S然后连接一个字母给S在取子字符并转化成大写的!
解决方案八:
引用4楼endlesspass的回复:
1.s="Fred";2.s=s+"47";3.s=s.substring(2,5)String是不可变长的字符对像,每改变一次长度,就会重新NEW一个StringObject.注意其与StringBuffer的区别!
很有道理啊!
时间: 2024-10-24 16:41:20