在Java中,Length 是一个非常重要的概念,但具体用法取决于不同的数据类型。
1. 数组长度
数组使用 .length 属性(不是方法)
// 一维数组
int[] numbers = {1, 2, 3, 4, 5};
int length1 = numbers.length; // 5
// 二维数组
int[][] matrix = {{1, 2}, {3, 4}, {5, 6}};
int rows = matrix.length; // 3(行数)
int cols = matrix[0].length; // 2(第一行的列数)
// 字符串数组
String[] names = {"Alice", "Bob", "Charlie"};
int nameCount = names.length; // 3
2. 字符串长度
字符串使用 .length() 方法
String str = "Hello World";
int strLength = str.length(); // 11
// 空字符串
String empty = "";
int emptyLength = empty.length(); // 0
// 包含Unicode字符
String emoji = "😀Hello";
int emojiLength = emoji.length(); // 7(注意:😀占用2个char)
3. 集合长度
集合使用 .size() 方法
import java.util.*;
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int listSize = list.size(); // 5
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
int setSize = set.size(); // 3
Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
int mapSize = map.size(); // 2
4. StringBuilder/StringBuffer长度
使用 .length() 方法
StringBuilder sb = new StringBuilder("Hello");
int sbLength = sb.length(); // 5
sb.append(" World");
int newLength = sb.length(); // 11
// 设置长度
sb.setLength(3); // 截断为前3个字符
5. 文件长度
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
// 方式1:使用File类
File file = new File("data.txt");
long fileSize = file.length(); // 字节数
// 方式2:使用NIO Files
Path path = Path.of("data.txt");
long size = Files.size(path); // 字节数
重要区别总结
| 类型 | 获取长度 | 说明 |
|---|---|---|
| 数组 | .length |
属性,不是方法 |
| 字符串 | .length() |
方法,返回字符数 |
| 集合 | .size() |
方法,返回元素个数 |
| StringBuilder | .length() |
方法,返回字符数 |
| 文件 | .length() |
方法,返回字节数 |