StringUtils.isBlank(string1) 和 string2.isEmpty() 的区别在于,StringUtils.isBlank 会先将 string1 进行 trim 操作(去除字符串首尾空白字符),然后再判断字符串是否为空或是否为 null;而 string2.isEmpty() 只判断字符串是否为空串。
举例:
String string1 = " "; // 由空白字符组成的字符串
String string2 = ""; // 空串
String string3 = null; // null
System.out.println(StringUtils.isBlank(string1)); // 输出 true
System.out.println(StringUtils.isBlank(string2)); // 输出 true
System.out.println(StringUtils.isBlank(string3)); // 输出 true
System.out.println(string1.isEmpty()); // 输出 false
System.out.println(string2.isEmpty()); // 输出 true
// System.out.println(string3.isEmpty()); // 空指针异常
注意:string3.isEmpty() 会抛出空指针异常,因为 null 没有定义 isEmpty() 方法。
哪种更好?
这取决于你的需求和情况。
如果你需要判断字符串是否为空或者字符串的首尾空格是否也算为空,则推荐使用 StringUtils.isBlank() 方法。这种方法可以自动去除字符串首尾的空格,并能正确处理 null 值的情况。
如果你只需要判断字符串是否为空串,那么可以直接使用 string.isEmpty() 方法,这种方法更加简洁和直观。