Java中的数组长度怎么获取_Java length属性使用说明

Java中数组长度用length属性(非方法),如arr.length;集合类用size()方法;length创建后不可变;多维数组length返回第一维长度。

Java中获取数组长度直接使用length属性,不是方法,不带括号,且仅适用于数组(不是List等集合)。

数组的length是属性,不是方法

数组在Java中是对象,但它的长度是通过length这个公共(public)的final字段暴露的,所以访问方式是array.length。写成array.lengt

h()会编译报错。

  • 错误写法:int len = arr.length();
  • 正确写法:int len = arr.length;

length只对数组有效,对集合类无效

length是数组专属属性,ListSetMap等集合类没有length,它们用的是size()方法。

  • int[] nums = {1, 2, 3}; int len = nums.length; // ✅ 正确
  • List list = new ArrayList(); int size = list.size(); // ✅ 正确
  • int len = list.length; // ❌ 编译错误:list没有length字段

length在创建后固定不变

Java数组是定长的,一旦初始化(如new int[5]{1,2,3}),其length就确定且不可修改。即使把某些元素设为null0,长度也不变。

  • String[] arr = new String[3]; System.out.println(arr.length); // 输出 3
  • arr[0] = null; System.out.println(arr.length); // 仍是 3

多维数组的length表示第一维长度

对于二维及以上数组,array.length返回最外层数组的长度;要获取内层数组长度,需指定下标,如array[0].length(前提是该行不为null)。

  • int[][] matrix = {{1,2}, {3,4,5}};
  • matrix.length → 2(有2行)
  • matrix[0].length → 2(第1行有2个元素)
  • matrix[1].length → 3(第2行有3个元素)
  • matrix[2].length → 抛出ArrayIndexOutOfBoundsException