创建不可变对象,无需新建即可实例化

2022-09-03 04:20:57

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


答案 1

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

Strings 仅在内存中尚不存在时才使用时实例化,因此每次写入 时都会获得对相同确切对象的引用。"something"String"something"

例如,如果您执行以下操作:

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

然后

a == b; // will be true.

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


答案 2

因为 Java 不支持用户定义的运算符重载,所以不能使用运算符创建新实例。=

查看为什么 Java 不提供运算符重载?了解更多信息