正确使用equals避免空指针,contains和indexOf提升查找效率,substring和split注意边界与正则,优先选用strip处理Unicode空白,结合isBlank判断空值,可显著提升Java字符串操作的安全性与性能。

Java中的字符串操作是日常开发中最常见的任务之一。掌握常用字符串方法的使用技巧,不仅能提升代码效率,还能避免潜在的错误。下面介绍几个关键方法及其实用技巧。
1. equals 与 == 的正确选择
判断字符串内容是否相等时,必须使用 equals 方法,而不是 ==。
== 比较的是对象引用地址,而 equals 比较的是实际字符内容。
- 如果比较的字符串可能为 null,建议调用常量或已知非空字符串的 equals 方法,例如:"hello".equals(str),这样可避免空指针异常。
- 忽略大小写比较使用 equalsIgnorecase(),注意它比 equals 稍慢,只在必要时使用。
2. 字符串查找:indexOf 和 contains
查找子字符串是否存在或位置时,合理选择方法能提升可读性和性能。
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
立即学习“Java免费学习笔记(深入)”;
- 只需判断是否存在,使用 contains(CharSequence),代码更清晰,例如:str.contains("abc")。
- 需要获取位置信息时用 indexOf(),返回首次出现的索引,未找到返回 -1。也可指定起始位置进行搜索,如:str.indexOf("a", 5)。
- 反向查找使用 lastIndexOf(),适合从后往前定位。
3. 字符串截取与分割:substring 和 split
截取和拆分是处理文本数据的高频操作,需注意边界和正则问题。
- substring(beginIndex, endIndex) 左闭右开,endIndex 可省略表示到末尾。注意下标越界会抛出异常,使用前最好校验长度。
- split(String regex) 接收正则表达式,不是普通字符串。例如分割点号(.)需转义:str.split("\\.")。
- split 支持第二个参数限制返回数组长度,如 str.split(",", 3) 最多返回3个元素。
- 对于简单分隔符,考虑使用 StringJoiner 或 StringTokenizer 提升性能。
4. 去除空白与格式化:trim、strip 及其变体
JDK 11 引入了新的 strip 方法,更好支持 Unicode 空白字符。
- trim() 只去除 ASCII 值小于等于32的空白字符,对全角空格无效。
- strip()、stripLeading()、stripTrailing() 能正确处理 Unicode 空白,推荐新项目使用。
- 结合 isBlank() 判断字符串是否为空或全空白,比 isEmpty() 更实用。









