日期:2014-05-20 浏览次数:20936 次
11. public String makinStrings() {
12. String s = “Fred”;
13. s = s + “47”;
14. s = s.substring(2, 5);
15. s = s.toUpperCase();
16. return s.toString();
17. }
How many String objects will be created when this method is invoked?
A. 1
B. 2
C. 3
D. 4
E. 5
F. 6
//我觉得是5个。。 不同意见的顶上
String s = “Fred”; //对象"Fred",别说字符串常量不是对象...Java基本类型里可没有String型..."Fred"是有完整方法和属性的对象
s = s + “47”; //对象"47",以及对象"Fred47",字符串间接相加Java编译是不会优化的,同直接"Fred"+"47"不同...
s = s.substring(2, 5); //对象"ed4"
s = s.toUpperCase(); //对象"ED4"
return s.toString(); //s返回它自己,前面s的指向一共改变了4次,涉及5个对象