◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java 数组可通过以下方法取消大小限制:使用集合类(如 arraylist)提供动态大小调整;使用 varargs 方法创建可变大小数组;使用反射动态修改数组大小。
Java 数组如何取消限制
引言
Java 数组默认具有固定大小,一旦创建就不能更改。然而,有各种方法可以取消对 Java 数组大小的限制。
方法
立即学习“Java免费学习笔记(深入)”;
集合类,如 ArrayList 和 LinkedList,允许动态调整大小。它们可以随着数据的添加或删除而增长或缩小。
import java.util.ArrayList; public class UnboundedArray { public static void main(String[] args) { // 创建一个无界数组 ArrayList<Integer> numbers = new ArrayList<>(); // 添加元素 numbers.add(1); numbers.add(2); // 输出数组内容 System.out.println(numbers); } }
可变参数 (varargs) 方法允许将可变数量的参数传递给方法。它创建了一个数组来保存这些参数。
public static void printNumbers(int... numbers) { for (int number : numbers) { System.out.println(number); } }
反射允许您动态地检查和修改类的属性。它可以用来创建一个新数组并将其分配给现有数组的引用。
import java.lang.reflect.Array; public class UnboundedArray { public static void main(String[] args) { // 创建一个初始大小为 2 的数组 int[] numbers = new int[2]; // 反射创建一个新的无界数组 int[] unboundedNumbers = (int[]) Array.newInstance(numbers.getClass().getComponentType(), 0); // 复制元素到新数组 System.arraycopy(numbers, 0, unboundedNumbers, 0, numbers.length); // 添加元素到无界数组 Array.set(unboundedNumbers, 0, 1); Array.set(unboundedNumbers, 1, 2); // 输出数组内容 for (int number : unboundedNumbers) { System.out.println(number); } } }
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。