字符串判空

x33g5p2x  于2022-03-21 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(467)

StringUtils.isEmpty(已被弃用)

源码:

  1. /** @deprecated */
  2. @Deprecated
  3. public static boolean isEmpty(@Nullable Object str) {
  4. return str == null || "".equals(str);
  5. }

功能:
若字符串为 null 或者 空串 则直接返回true

StringUtils.hasLength

源码:

  1. public static boolean hasLength(@Nullable String str) {
  2. return str != null && !str.isEmpty();
  3. }

字符串的isEmpty方法

  1. public boolean isEmpty() {
  2. return value.length == 0;
  3. }

功能:

若字符串 不为null 并且 长度不为0 则返回true

StringUtils.hasText

源码:

  1. public static boolean hasText(@Nullable String str) {
  2. return str != null && !str.isEmpty() && containsText(str);
  3. }
  4. private static boolean containsText(CharSequence str) {
  5. int strLen = str.length();
  6. // isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab键、换行符。
  7. for(int i = 0; i < strLen; ++i) {
  8. if (!Character.isWhitespace(str.charAt(i))) {
  9. return true;
  10. }
  11. }
  12. return false;
  13. }

功能:
若 字符串 不为null 并且 不只包含空白字符 则返回true。(空白符包含:空格、tab键、换行符。)

总结、测试

总结:

  • 首先这三个方法都属于org.springframework.util.StringUtils的静态方法
  • Spring5.3之后StringUtils.isEmpty被弃用。我们在判空的时候可以使用StringUtils.hasLength或者StringUtils.hasText来替换

代码测试:

  1. String s1 = null;
  2. String s2 = "";
  3. String s3 = " ";
  4. // StringUtils.isEmpty()
  5. System.out.println(StringUtils.isEmpty(s1));
  6. System.out.println(StringUtils.isEmpty(s2));
  7. System.out.println(StringUtils.isEmpty(s3));
  8. System.out.println("------------------------------------");
  9. // StringUtils.hasLength()
  10. System.out.println(StringUtils.hasLength(s1));
  11. System.out.println(StringUtils.hasLength(s2));
  12. System.out.println(StringUtils.hasLength(s3));
  13. System.out.println("------------------------------------");
  14. // StringUtils.hasText()
  15. System.out.println(StringUtils.hasText(s1));
  16. System.out.println(StringUtils.hasText(s2));
  17. System.out.println(StringUtils.hasText(s3));
  18. System.out.println("------------------------------------");

输出:

  1. true
  2. true
  3. false
  4. ------------------------------------
  5. false
  6. false
  7. true
  8. ------------------------------------
  9. false
  10. false
  11. false
  12. ------------------------------------

相关文章