提问人:Aled 提问时间:7/14/2023 更新时间:7/14/2023 访问量:16
为什么根据定义是不可变的字符串可以改变它的大小?
Why a String which by definition is immutable can change its size?
问:
我知道 String 是不可变的,这意味着一旦创建它就无法更改其大小(不能变大或变小),也不能更改其任何字符。现在,我找到了 2 个例子,对我来说有点不清楚。
因此,在此示例中,字符串 s 将从 “1” -> “123” 变为。所以它首先会改变它的大小,会变得更大。但是字符串是不可变的,为什么呢??
String s = "1"; // s holds "1"
s += "2"; // s holds "12"
s +=3; // s holds "123"
然后我还有另一个使用 concat 方法的例子:
String s1 = "1";
String s2 = s1.concat("2");
s2.concat("3");
System.out.println(s2);
这里的答案是“12”,我理解它,因为我创建了一个新的 String 对象 s2,它可以更改其大小并与 s1 连接,然后对于 S2,与 s3 连接将不起作用。
我的问题是为什么在第一个示例中允许将所有这些值连接到字符串 s?
答: 暂无答案
评论