StringUtils工具类常用方法

StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字符串时使用StringUtils相比使用原生的String会更加安全。

一、判空

StringUtils提供常用的判断空字符串有两个方法:isEmptyisBlank,这两者的有何区别呢,直接看源码:

// isEmpty
public static boolean isEmpty(String str) {
  return str == null || str.length() == 0;
}

// isBlank
public static boolean isBlank(String str) {
   int strLen;
   if (str == null || (strLen = str.length()) == 0) {
       return true;
   }
   for (int i = 0; i < strLen; i++) {
       if ((Character.isWhitespace(str.charAt(i)) == false)) {
           return false;
       }
    }
   return true;
}

// isNotEmpty
public static boolean isNotEmpty(String str) {
   return !StringUtils.isEmpty(str);
}

// isNotBlank
public static boolean isNotBlank(String str) {
   return !StringUtils.isBlank(str);
 }

从源码上看一目了然(null值两者的判断逻辑是一致的,都为true): 

isBlank:判断更严谨,包含的有空串("")、空白符(空格"","  ",制表符"\t",回车符"\r","\n"等)以及null值;

isEmpty:包含是空串("")和null值,不包含空白符;

isNotBlankisNotEmpty都是取反的,不再赘述;

二、转换

首字母大小写转换

   // 空字符串(包括空格、制表符等)原样输出

   // 首字母大写
   public static String capitalize(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return str;
        }
        return new StrBuilder(strLen)
            .append(Character.toTitleCase(str.charAt(0)))
            .append(str.substring(1))
            .toString();
    }
    
    // 首字母小写
    public static String uncapitalize(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return str;
        }
        return new StrBuilder(strLen)
            .append(Character.toLowerCase(str.charAt(0)))
            .append(str.substring(1))
            .toString();
    }

其它方法都差不多,就不展示源码了,有兴趣的朋友自己去查看下;

// upperCase--全部转大写
StringUtils.upperCase(null); // null
StringUtils.upperCase("china"); // CHINA (全部转为大写)
StringUtils.upperCase("china", Locale.ENGLISH); // CHINA (按照指定规则转换为大写)

// lowerCase--全部转小写
StringUtils.lowerCase(null); // null
StringUtils.lowerCase("CHINA"); // china (全部转换为小写)
StringUtils.lowerCase("CHINA", Locale.ENGLISH); // china (按照指定转换规则转换为小写)	
	
// swapCase--大小写互换
StringUtils.sw
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值