java - 为什么要使用new创建String对象

标签 java string

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/

相关文章:

java - 与字符串相比,整数作为 java HashMap 中的键占用的空间是否更少?

string - 等于后缀的前缀数

string - Lua - gmatch 科学记数法字符串到数字

Java:为什么乘以大的正数会导致负结果?

java - 将 Hibernate 搜索与 RabbitMQ 集成以实现分布式后端

java - LocationPoller 和多个广播接收器

java - Spring应用程序未启动

Python - 如何按 X 量移动字符串中的字符

java - 在类与方法上定义@Transactional有什么区别

python - 从 String 中删除一个 char,更有效的方法是什么?