java中的字符串创建
在java中,可以使用new运算符或+和+=,创建字符串。那么,所有这些字符串创建技术是否都会检查字符串池中是否已经存在该字符串。如果他们没有力,那么哪种字符串创建技术将检查池。不,他们没有 简单的例子:java中的字符串创建,java,string,Java,String,在java中,可以使用new运算符或+和+=,创建字符串。那么,所有这些字符串创建技术是否都会检查字符串池中是否已经存在该字符串。如果他们没有力,那么哪种字符串创建技术将检查池。不,他们没有 简单的例子: String s = new String("hell"); String hello = "hello"; s += 'o'; System.out.println(hello == hello.intern()); //True System.out
String s = new String("hell");
String hello = "hello";
s += 'o';
System.out.println(hello == hello.intern()); //True
System.out.println(s == s.intern()); //False
System.out.println(s == hello); //False
System.out.println(s.intern() == hello); //True
//To sum up : s != s.intern() == hello.intern() == hello
这里新版本的“s”不是“hello”的内部版本
如果您想获得特定字符串的池版本,可以使用intern()
方法(就像我上面所做的那样)。这样你肯定有相同的参考
资源:
- (您可能认为链接指向
,但valueOf(double)
方法就在后面;)intern()