在 Java 中,获取数组长度的方法是使用数组对象的内置属性 length,该属性直接返回数组中元素的数量。以下是详细说明和示例:
核心方法示例代码// 一维数组示例int[] numbers = new int[10]; // 创建长度为10的整型数组int length = numbers.length; // 获取长度,结果为10System.out.println("数组长度: " + length); // 输出: 数组长度: 10// 空数组示例String[] emptyArray = new String[0]; // 创建空数组System.out.println("空数组长度: " + emptyArray.length); // 输出: 空数组长度: 0多维数组的特殊情况- 最外层长度:对于多维数组,length 仅返回最外层数组的长度(即第一维的元素数量)。
- 内层长度:需通过逐层访问子数组的 length 属性获取内层维度长度。
示例代码// 二维数组示例int[][] matrix = new int[3][4]; // 3行4列的二维数组System.out.println("外层数组长度: " + matrix.length); // 输出: 3(行数)System.out.println("内层数组长度: " + matrix[0].length); // 输出: 4(第一行的列数)// 不规则多维数组示例int[][] irregularArray = new int[2][];irregularArray[0] = new int[5]; // 第一行5个元素irregularArray[1] = new int[3]; // 第二行3个元素System.out.println("外层长度: " + irregularArray.length); // 输出: 2System.out.println("第一行长度: " + irregularArray[0].length); // 输出: 5System.out.println("第二行长度: " + irregularArray[1].length); // 输出: 3注意事项与字符串长度方法的区别:
数组使用 length 属性(无括号),而字符串使用 length() 方法(需括号)。
错误示例:String str = "hello"; int len = str.length;(编译错误,应改为 str.length())。
空数组处理:
空数组的 length 返回 0,访问其元素时需先检查长度以避免 ArrayIndexOutOfBoundsException。
动态数组(如 ArrayList)的长度获取:
Java 集合框架中的 ArrayList 使用 size() 方法获取元素数量,而非 length 属性。
示例:import java.util.ArrayList;ArrayList<String> list = new ArrayList<>();list.add("A");System.out.println("ArrayList大小: " + list.size()); // 输出: 1
总结- 一维数组:直接通过 arrayName.length 获取长度。
- 多维数组:length 返回最外层长度,内层需逐层访问。
- 空数组:返回 0,需注意边界检查。
- 与字符串/集合的区别:数组用 length 属性,字符串用 length() 方法,集合用 size() 方法。
通过正确使用 length 属性,可以高效地获取数组长度并避免常见错误。