我想知道Java中的字符串数组是否是可变的?我知道字符串是不可变的,但是字符串数组怎么样?
如果我有一个字符串数组,并更改内容,是否会创建一个新的字符串对象?或者实际值会改变吗?
提前致谢
The String
s 包含在String[]
确实是不可变的,但数组是可变的。
这在中得到了很好的解释这个答案 https://stackoverflow.com/a/2535564/1065197:
- Immutability means that objects of a certain type can not change in any meaningful way to outside observers
-
Integer
, String
等是不可变的
- 一般来说,所有值类型都应该是
- Array objects are mutable
- It may be an array of references to immutable types, but the array itself is mutable
- 这意味着您可以将这些引用设置为您想要的任何内容
- 对于基元数组也是如此
- 不可变数组不实用
- References to objects can be shared
EDIT:
有点相关:为什么 Java 和 .NET 中的字符串不能是可变的? https://stackoverflow.com/q/93091/1065197
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)