java - String s = "something"; 之间有什么区别?和字符串 s = 新字符串 ("something");

标签 java

<分区>

Possible Duplicate:
difference between string object and string literal

当初始化一个String对象时,至少有两种方式,像这样:

String s = "some string";
String s = new String("some string");

有什么区别?

最佳答案

Java 语言对字符串有特殊处理;字符串字面量自动成为 String 对象。

因此在第一种情况下,您正在初始化对那个 String 对象的引用 s

在第二种情况下,您正在创建一个新的 String 对象,将对原始 String 对象的引用作为构造函数参数传递。换句话说,您正在创建一个副本。然后将引用 s 初始化为引用该副本。

关于java - String s = "something"; 之间有什么区别?和字符串 s = 新字符串 ("something");,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049451/

相关文章:

Java:随机生成的数字仅出现在给定范围的一小部分中

java - 无法为 JSP 编译类 : The type java. util.Map$Entry 无法解析。它是从所需的 .class 文件中间接引用的

java - 是否有适当的方法来检测和处理突然断开的服务器

java - 关于 ExtJs 4 加载缓慢的查询

java - 如何在用户 map 缩放时调整多个圆的大小?

java - 两种相似的方法,不同的行为 setSchema 都没有失败,但第二种情况下是 MySQL 异常?

java - 循环打印正确答案但将错误答案添加到 map 中?

java - 检测ArrayList中对象的类型

java - 用逗号格式化json文件?

java - net.spy.memcached.OperationTimeoutException : Timeout waiting for value