Possible Duplicate:
Java Strings: “String s = new String(”silly“);”
What is the purpose of the expression “new String(…)” in Java?
创建 String 对象有两种方法:
1) 使用 String s ="hello"中的文字(创建一个对象)
2) 在 String s = new String("hello") 中使用 new (创建两个对象)
我想知道为什么我需要采用 2) 方法?
最佳答案
如果你用new创建一个字符串,那么你会得到一个不同的字符串引用。这可以避免令人毛骨悚然的行为:
String s = "hello";
String t = "hello";
String u = new String("hello");
System.out.println(s==t);
System.out.println(t==u);
打印真、假。我真的想不出有什么真正的软件可以使用它。但从某种意义上说,创建新引用“更安全”,因此 == 不会让我们感到惊讶。
关于java - 为什么要使用new创建String对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130054/