Java中关于String的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:33:51
String s=new String("abc"+6); 问创建了几个 String Object

String s=new String("abc"+"d");问创建了几个 String Object

String d="d";
String s=new String("abc"+d);问创建了几个 String Object

String d=new String("d");
String s=new String("abc"+d);问创建了几个 String Object

4,4,4,5
每调一次new String(…)都会创建一个新的String Object.
"abc"+6时也会先将6转换成String。

而Sting d=“abc”;
String s = “abc”;只会创建一个String Object。

2
3
3
4

1
1
1
2
2
2

一、
String s=new String("abc"+6); 问创建了几个 String Object
回答:2个String Object
二、
String s=new String("abc"+"d");问创建了几个 String Object
回答:2个String Object
三、
String d="d";
String s=new String("abc"+d);问创建了几个 String Object
回答:3个String Object
四、
String d=new String("d");
String s=new String("abc"+d);问创建了几个 String Object
回答:4个String Object

String s=new String("abc"+6); 我认为这一句是4个
首先在会在String pool 中创建一个abc对象 然后 +6的时候创建一个
+6之后再创建一个abc6 最后在堆中创建一个abc6 一共是4个
剩下的就类似的分析了
1.4个
2.4个
3.4个
4.5个