String,实例,变量

1 String s1 = "a";
2 String s2 = s1.concat("");
3 String s3 = null;
4 new String(s1);

这段代码会涉及3个String类型的变量, 
1、s1,指向下面String实例的1 
2、s2,指向与s1相同 
3、s3,值为null,不指向任何实例 

以及3个String实例, 
1、"a"字面量对应的驻留的字符串常量的String实例 
2、""字面量对应的驻留的字符串常量的String实例 
String.concat()是个有趣的方法,当发现传入的参数是空字符串时会返回this,所以这里不会额外创建新的String实例) 
3、通过new String(String)创建的新String实例;没有任何变量指向它。

 

String s = new String("xyz");
在运行时涉及几个String实例?

答案:两个,一个是字符串字面量"xyz"所对应的、驻留(intern)在一个全局共享的字符串常量池中的实例,另一个是通过new String(String)创建并初始化的、内容与"xyz"相同的实例
String s = new String("xyz");
涉及用户声明的几个String类型的变量?

答案:一个,就是String s。


String s = null;
涉及用户声明的几个String类型的变量?

答案:同上。

 

 摘录于:http://www.iteye.com/topic/774673

posted @ 2012-09-10 16:09  路人浅笑  阅读(325)  评论(0编辑  收藏  举报