【发布时间】:2026-01-14 15:10:02
【问题描述】:
String 是 java 中的一个类。在声明和分配字符串时,说 String name = "Paul" 是正确的,尽管我们要从 java 类中实例化一个对象 String name = new String(); 以name为对象,我想知道为什么我们可以为对象分配一系列字符“保罗”。这个是在什么概念下工作的,它是如何工作的?
【问题讨论】:
-
它有来自语言本身的“特殊”支持。否则,您将无法做到这一点。
-
Java Language Specifications, section 3.10.5 声明:字符串文字始终是 String 类型。这就是它起作用的原因。
-
@zellus:副本并没有真正很好地回答这个问题,IMO。它并没有真正要求它们之间的区别,而是我们为什么能做到。
-
@jlordo:您介意将其扩展为答案吗?如果你这样做,我会删除我的社区答案。
-
@nhahtdh:编辑了你的答案:P 太懒了,重新开始:D