gpt4 book ai didi

Java String 类实例是常量

转载 作者:行者123 更新时间:2023-12-01 16:37:00 26 4
gpt4 key购买 nike

这可能是一个简单的问题,但现阶段对我来说不是。

我读到(我引用)“String 类的所有实例都是常量,这意味着它们在创建后就无法更改。但字符串可以被替换”。

这很令人困惑。字符串变量不能更改但字符串可以更改是什么意思?

任何人都可以给我代码示例,我们将尝试更改变量但失败吗?

为帮助干杯。

最佳答案

当你写下:

String myString = "Hi!";

你正在做两件事。第一个是定义一个名为 myString 的引用,第二个是创建一个字符串对象。该字符串对象包含“Hi!”,并且没有办法更改它。换句话说,没有 set 方法来更改字符串:

myString.set("another content");

但是,您可以创建一个新对象并更改您的 myString 引用以指向它。重要的是您的 myString 不是字符串对象本身,而只是对其的引用。

myString = "New content";

当您这样做时,旧字符串不再由任何变量指向,并且是垃圾收集的候选者。此外,对字符串的任何其他操作,例如子字符串、大写等,都将创建一个新的字符串对象。

当对象创建后无法更改时,称为不可变。在 Java 中,字符串不仅是不可变的,而且是最终的,因此您无法子类化字符串来更改其行为。

关于Java String 类实例是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965460/

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