一、方法定义
public int length()
- 所属类:
java.lang.String
- 功能:返回字符串中字符的数量(即Unicode码单元的数量)。
- 返回值:一个整数,表示字符串的长度。
二、功能说明
- 字符数统计:
- 包括所有字符(字母、数字、空格、标点、特殊符号)。
- 例如:
"Hello World"
的长度为11(包含空格)。
- 空字符串处理:
- 不可变性:
三、示例代码
1. 基础用法
String str1 = "Hello";
int len1 = str1.length(); // 5
String str2 = "Hello World";
int len2 = str2.length(); // 11(包含空格)
String str3 = "";
int len3 = str3.length(); // 0
2. 处理null
的情况
String str = null;
int len = str.length(); // 抛出NullPointerException
3. 结合其他方法使用
String str = " Java ";
int trimmedLength = str.trim().length(); // 4(去除首尾空格后长度)
四、使用技巧
- 密码长度验证:
if (password.length() >= 8 && password.length() <= 12) {
System.out.println("密码长度符合要求");
}
- 去除空格后计算长度:
String str = " Hello World ";
int cleanLength = str.replace(" ", "").length(); // 10(去除所有空格)
- 处理多语言字符:
五、常见错误
- 未检查
null
导致异常:
String str = null;
int len = str.length(); // 抛出NullPointerException
- 误认为返回字节数:
六、注意事项
null
检查:
- 空格与特殊字符:
length()
包含空格和特殊字符,如" "
.length() == 3。
- Unicode字符处理:
- 对于包含代理对的字符(如表情符号),需使用
codePointCount()
准确计算字符数。
七、最佳实践
- 工具类辅助:
- 性能优化:
八、性能优化
场景 |
优化建议 |
高频调用 |
缓存length() 结果,避免重复计算。 |
多语言支持 |
使用codePointCount() 处理Unicode字符。 |
空值处理 |
使用工具类(如Objects.isNull() )进行安全检查。 |
九、总结
- 核心功能:
length()
方法返回字符串的字符数量,包含空格和特殊字符。
- 关键实践:
- 调用前检查
null
。
- 区分字符数与字节数的差异。
- 使用工具类简化空值和长度判断。
- 性能保障:
length()
方法高效,适合高频调用,但需注意避免因空指针导致的异常。