上一篇
java length 怎么用
- 后端开发
- 2025-07-22
- 4331
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("字符串为
