Sac*_*hin 0 java string difference
String str = "ABC"和之间有什么区别String str = new String("ABC")?
在Java中String是一个特殊的对象,允许您创建一个新的,String而不必做new String("ABC").不过String s = "ABC"和String s = new String("ABC")不一样的操作.
从javadoc new String(String original):
初始化一个新创建的String对象,使其表示与参数相同的字符序列; [...]
除非需要显式的原始副本,否则不必使用此构造函数,因为字符串是不可变的.
换句话说,正在String s = new String("ABC")创建一个新实例String,同时String s = "ABC"重用(如果可用)String Constant Pool的实例.
字符串常量池是String放置对象引用的集合.
String s = "prasad"仅在没有其他可用时才创建新引用.您可以通过使用==运算符轻松查看.
String s = "prasad";
String s2 = "prasad";
System.out.println(s == s2); // true
Run Code Online (Sandbox Code Playgroud)
图片取自thejavageek.com.
new String("prasad")总是创建一个新的引用,换句话说s,s2从下面的示例将具有相同的值但不会是同一个对象.
String s = "prasad";
String s2 = new String("prasad");
System.out.println(s == s2); // false
Run Code Online (Sandbox Code Playgroud)
图片取自thejavageek.com.
| 归档时间: |
|
| 查看次数: |
13061 次 |
| 最近记录: |