是的,Java数组的长度是可变的。在Java中,数组是一种特殊的对象,它们的长度在创建时设定,但之后可以改变。要改变数组的长度,可以使用System.arraycopy()
方法将数组元素复制到一个新数组,新数组的长度为所需长度,然后将原数组的元素复制到新数组中。这是一个示例:
public class Main { public static void main(String[] args) { int[] originalArray = {1, 2, 3, 4, 5}; int newLength = 7; // 创建一个新数组,长度为newLength int[] newArray = new int[newLength]; // 将原数组的元素复制到新数组中 System.arraycopy(originalArray, 0, newArray, 0, originalArray.length); // 如果需要,可以在新数组中添加或删除元素 newArray[newLength - 1] = 6; // 添加元素 // newArray[3] = 0; // 删除元素(会抛出ArrayIndexOutOfBoundsException) // 打印新数组 for (int i = 0; i < newArray.length; i++) { System.out.print(newArray[i] + " "); } } }
请注意,虽然数组的长度可变,但频繁改变数组长度可能会导致性能下降。在这种情况下,可以考虑使用ArrayList
等动态数据结构。