Java数组长度不可直接修改,但可通过以下方式变相实现:1. 使用arraylist动态数组;2. 使用arrays.copyof()创建一个具有不同长度的新数组;3. 创建一个具有所需长度的新数组并复制原始数组中的元素。
如何修改 Java 数组的长度?
Java 数组的长度一旦创建,在编译时就固定了。因此,无法直接修改数组的长度。但是,我们可以通过以下方法变相地实现类似的效果:
1. 使用 ArrayList
ArrayList 是 Java 标准库中提供的动态数组。ArrayList 的长度可以随时修改,并且自动处理内存分配和释放。
立即学习“Java免费学习笔记(深入)”;
// 创建一个 ArrayList ArrayList<Integer> list = new ArrayList<>(); // 添加元素 list.add(1); list.add(2); list.add(3); // 检查当前长度 System.out.println("ArrayList length: " + list.size()); // 增加长度 list.ensureCapacity(10); // 检查修改后的长度 System.out.println("ArrayList length after ensureCapacity: " + list.size());
2. 使用 Arrays.copyOf()
Arrays.copyOf() 方法可以创建一个新数组,其中包含原始数组的一部分或全部元素。我们可以使用此方法创建具有不同长度的新数组。
// 创建一个原始数组 int[] originalArray = {1, 2, 3}; // 使用 Arrays.copyOf() 创建一个具有不同长度的新数组 int[] newArray = Arrays.copyOf(originalArray, 5); // 检查新数组的长度 System.out.println("New array length: " + newArray.length);
3. 创建一个新数组
如果需要修改数组的长度,最简单的方法是创建一个具有所需长度的新数组,并复制原始数组中的元素。
// 创建一个原始数组 int[] originalArray = {1, 2, 3}; // 创建一个具有不同长度的新数组 int[] newArray = new int[5]; // 复制元素 System.arraycopy(originalArray, 0, newArray, 0, originalArray.length); // 检查新数组的长度 System.out.println("New array length: " + newArray.length);