上一篇
java length 怎么用
- 后端开发
- 2025-07-22
- 4
Java中,数组使用
length
属性获取长度,字符串则用
length()
方法获取字符数
Java编程中,length
是一个非常重要的属性或方法,用于获取数组、字符串等数据结构的长度,以下是关于Java中length
的详细用法:
数组中的length
类别 | 说明 | 示例代码 | 结果 |
---|---|---|---|
一维数组 | length 是数组的一个属性,用于获取数组中元素的个数。 |
java int[] arr = {1, 2, 3};<br>int length = arr.length;<br>System.out.println(length); // 输出3 |
3 |
多维数组 | 对于多维数组,length 返回的是第一维的长度,要获取其他维度的长度,需要通过索引访问子数组后获取其长度。 |
java int[][] matrix = {{1, 2}, {3, 4}};<br>int rows = matrix.length;<br>int cols = matrix[0].length;<br>System.out.println("行数: " + rows + ", 列数: " + cols); // 输出"行数: 2, 列数: 2" |
行数: 2, 列数: 2 |
注意事项 | length 是只读的,无法修改,如果数组为null ,访问length 会抛出NullPointerException 。 |
java int[] arr = null;<br>System.out.println(arr.length); // 抛出NullPointerException | 抛出NullPointerException |
字符串中的length()
类别 | 说明 | 示例代码 | 结果 |
---|---|---|---|
基本用法 | length() 是String 类的方法,用于返回字符串中字符的数量。 |
java String str = "Hello";<br>int length = str.length();<br>System.out.println(length); // 输出5 |
5 |
空字符串 | 对于空字符串,length() 返回0。 |
java String str = "";<br>int length = str.length();<br>System.out.println(length); // 输出0 |
0 |
注意事项 | length() 是只读的,无法修改字符串的长度,如果字符串为null ,调用length() 会抛出NullPointerException 。 |
java String str = null;<br>System.out.println(str.length()); // 抛出NullPointerException | 抛出NullPointerException |
length
与size()
的区别
类别 | length |
size() |
---|---|---|
适用对象 | 数组、字符串 | 集合类(如ArrayList 、HashSet 、HashMap 等) |
用法 | 属性(不带括号) | 方法(带括号) |
返回值 | 元素数量或字符数量 | 元素数量 |
示例 | java int[] arr = {1, 2, 3};<br>int length = arr.length; // 3 | java List<Integer> list = Arrays.asList(1, 2, 3);<br>int size = list.size(); // 3 |
常见问题与解答
Q1: 为什么数组的length
是属性,而字符串的length()
是方法?
A1: 这是Java语言设计上的差异,数组是Java的基本数据结构,length
作为其内置属性,直接返回元素数量,而字符串是通过String
类实现的对象,length()
是String
类的实例方法,需要通过方法调用来获取字符数量。
Q2: 如果数组或字符串为null
,如何安全地获取长度?
A2: 在访问length
或调用length()
之前,应该先检查对象是否为null
,以避免抛出NullPointerException
。
int[] arr = null; if (arr != null) { System.out.println(arr.length); } else { System.out.println("数组为null"); } String str = null; if (str != null) { System.out.println(str.length()); } else { System.out.println("字符串为