java - 创建不可变对象(immutable对象),在没有 new 的情况下实例化

标签 java string object instance

<分区>

我可以创建一个仅使用 = 运算符实例化的类,就像 String 类一样吗?或者这是 Java 中的 String 类特有的功能?

最佳答案

不,您不能创建仅使用 = 运算符实例化的类,因为您不能像在 C++ 中那样在 Java 中重载运算符或 C#(参见 Operator overloading in Java)。

String 仅当您使用 "something" 时它们不存在于内存中时才会被实例化,因此您将获得对相同的 String 的引用 对象,每次你写 "something"

例如,如果您这样做:

String a = "something";
String b = "something";

然后

a == b; // will be true.

您可以查看这些问题以了解有关 String 对象如何工作的更多信息:

关于java - 创建不可变对象(immutable对象),在没有 new 的情况下实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45669064/

相关文章:

c++ - std::string length() 函数如何工作?

Python ASCII 和 Unicode 解码错误

javascript - 迭代javascript数组中的对象

java - 减少 MDB-JMS-JAXB-Hibernate 组合应用程序的 CPU 使用率

java - 如何使用 Java 验证 yaml?如果 yaml 中缺少某个键怎么办?

Java BigInteger 循环群生成器搜索

java - 用java制作GPA计算器,需要一点调整才能完成

Java 数据类型 : String and Array

java - 打印 ArrayList 中的对象

javascript - 循环一个 JS 对象