gpt4 book ai didi

java - Java String 类内部是如何工作的?

转载 作者:行者123 更新时间:2023-12-01 23:14:21 25 4
gpt4 key购买 nike

在我的编程课中,我们正在创建一个类似于 Java String 类的类。现在,我们创建一个像这样的新对象:

MyString string = new MyString("Hello World");

这很好,但是在 Java 中你可以像这样创建一个新的 String 对象:

String string = "Hello World";

有什么办法可以模仿吗?这不是人们所说的不可变吗,你可以在创建对象后更改它,然后添加到该对象上?

编辑:显然我需要回去上英语课。不可变中的“Im”意味着“不”...哎呀,我的意思是可变的。

最佳答案

“不可变”实际上与您所描述的相反;这意味着对象在创建或添加后不能被更改。

无论如何,这与不变性无关。无法为您自己的类模拟该构造。字符串文字是该语言的基本规范的一部分。就像我们在 Java 中没有运算符重载一样(因此无法让编译器按照我们希望的方式解释 +),我们也无法让编译器理解不同的集合的文字。他们就是这样。

我确信有一些绝妙的方法可以修改 JVM 并创建您自己的编译器来完成您想要的操作,但是这样您就不再真正使用 Java 了。

您可以在JLS 3.10中阅读有关文字的更多信息。 ,或官方 Oracle 教程( this one 对于 Stringthis one 对于实际的原始类型)。

关于java - Java String 类内部是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com