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

Java中获取数组长度直接使用length属性,不是方法,不带括号,且仅适用于数组(不是List等集合)。
数组的length是属性,不是方法
数组在Java中是对象,但它的长度是通过length这个公共(public)的final字段暴露的,所以访问方式是array.length。写成array.length()会编译报错。
-
错误写法:
int len = arr.length(); -
正确写法:
int len = arr.length;
length只对数组有效,对集合类无效
length是数组专属属性,List、Set、Map等集合类没有length,它们用的是size()方法。
int[] nums = {1, 2, 3}; int len = nums.length; // ✅ 正确Listlist = new ArrayList(); int size = list.size(); // ✅ 正确 int len = list.length; // ❌ 编译错误:list没有length字段
length在创建后固定不变
Java数组是定长的,一旦初始化(如new int[5]或{1,2,3}),其length就确定且不可修改。即使把某些元素设为null或0,长度也不变。
立即学习“Java免费学习笔记(深入)”;
String[] arr = new String[3]; System.out.println(arr.length); // 输出 3arr[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










