<分区>
我可以创建一个仅使用 =
运算符实例化的类,就像 String
类一样吗?或者这是 Java 中的 String
类特有的功能?
<分区>
我可以创建一个仅使用 =
运算符实例化的类,就像 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/