在CSDN上看以个帖子,String s=new String("sss");到底生成了几个对象?类似的帖子看过多次,答案也多种多样。实在是糊涂了,不得已利用JPROFILES对String 做了一系列的测试,结果如下:
代码 |
实例个数: |
大小 bytes |
String s="jalion"; |
char[]:1 |
24 |
String:1 |
24 |
String s=new String(); |
char[]:1 |
16 |
String:1 |
24 |
String s; |
char[]:0 |
0 |
String:0 |
0 |
new String("jalion"); |
char[]:1 |
24 |
String:2 |
48 |
new String(); |
char[]:1 |
16 |
String:1 |
24 |
String s=new String("jalion"); |
char[]:1 |
24 |
String:2 |
48 |
String s=new String(new char[]{'j','a','l','i','o','n'}); |
char[]:2 |
48 |
String:1 |
24 |
char c[]=new char[]{'j','a','l','i','o','n'}; String s=new String(c); |
char[]:2 |
48 |
String:1 |
24 |
String s="jalion"+"jalion"; |
char[]:1 |
40 |
String:1 |
24 |
new String("");
|
char[]:0 |
0 |
String:1 |
24 |
char c[]=new new char[]{'j','a','l','i','o','n'}
|
char[]:1 |
24 |
String:0 |
0 |
String s=new String(“jalion”)+”jalion”;
|
char[]:7 |
376 |
String:7 |
168 |
String s=”jalion”+new String(“jalion”); |
char[]:7 |
376 |
String:7 |
168 |
String s=new String(“jalion”)+new String(“jalion”); |
char[]:7 |
376 |
String:8 |
192 |
String s="jalion"; String y=new String("jalion");
|
char[]:1 |
24 |
String:2 |
48 |
结论:请等待
posted on 2007-07-01 10:06
李桢 阅读(1239)
评论(0) 编辑 收藏 所属分类:
java