在编程中,可变性是在对象创建后改变其状态的能力。
可变对象意味着可以更改对象状态或值,而不可变对象意味着对象值是固定的。
Java 中的数组是可变的,因为您仍然可以在创建数组后更改其值。
在以下示例中,myArrayat index的值在2初始化后发生更改:
Integer[] myArr = {1, 2, 3}; myArr[2] = 55; System.out.println(Arrays.toString(myArr));
上述方法的输出println()将显示[1, 2, 55]而不是[1, 2, 3].
但即使 Java 数组是可变的,数组的类型和长度在初始化时也是最终的。
这意味着一旦您创建了一个元素Integer数组3,该元素只能在其生命周期3内保存该Integer类型的元素。
创建类型数组时也是如此String:
String[] myArr = {"Java", "Kotlin"}; myArr[0] = 55; // ERROR: Required String
可变性只关心你是否可以改变对象的值。
这就是为什么即使在初始化后无法更改数组的类型和长度,数组也是可变的。
Java中的数组是可变的吗?答案是肯定的。