apache.commons.lang.StringUtils 使用心得

   在JAVA中我们用的最多的类应该就是String了。对于String的处理说简单也简单,但是有的时候要自己去实现一些功能还是要浪费一点时间的。一年之前接触了StringUtils这个工具类,就猛然爱上了它,日复一日心里始终觉得这东西实在太好了。不敢独享,所以决定要总结一下个人使用StringUtils的一些心得。

1.StringUtils.isEmpty(String str)
 
经常需要去判断一个字符串是否为空,null,""。使用该方法可以轻松得到结论:

StringUtils.isEmpty(null) = true 
StringUtils.isEmpty("") = true 
StringUtils.isEmpty(" ") = false 
StringUtils.isEmpty("        ")  = false 
StringUtils.isEmpty("aa") = false 
StringUtils.isEmpty(" aaa ") = false 


2.StringUtils.isNotEmpty(String str)
  判断字符串是否非空,通过查看commons.lang.StringUtils的源码可以发现isNotEmpty是这样实现的:

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

使用和1中一样的参数调用isNotEmpty(String str)得到的结果:

StringUtils.isNotEmpty(null);//false  
StringUtils.isNotEmpty("");//false  
StringUtils.isNotEmpty(" ");//true  
StringUtils.isNotEmpty("         ");//true  
StringUtils.isNotEmpty("aa");//true  
StringUtils.isNotEmpty(" aaa ");//true
 

 

 3.StringUtils.isBlank(String str)

    判断字符串是否为空和空字符

System.out.println(StringUtils.isBlank(null));//true
System.out.println(StringUtils.isBlank(""));//true
System.out.println(StringUtils.isBlank(" "));//true
System.out.println(StringUtils.isBlank("   "));//true
System.out.println(StringUtils.isBlank("\n\t"));//true
System.out.println(StringUtils.isBlank("aaa"));//true
System.out.println(StringUtils.isBlank(" aa "));//true
 

 4.StringUtils.isNotBlank(String str)

 

 和之前说的isNotEmpty(String str) 一样该方法也是: retrurn !isBlank(str);

 

 5.StringUtils.defaultIfEmpty(String str, String defalutValue)

 如果字符串为""或者 null 则替换成参数2中的字符串:

 System.out.println("1: " + StringUtils.defaultIfEmpty("", "a"));//1: a

System.out.println("2: " + StringUtils.defaultIfEmpty("\n\t", "a"));//2: 
System.out.println("3: " + StringUtils.defaultIfEmpty("", "a"));//3: a
System.out.println("4: " + StringUtils.defaultIfEmpty("   ", "a"));//4:    
System.out.println("5: " + StringUtils.defaultIfEmpty("aaa", "a"));//5: aaa
System.out.println("6: " + StringUtils.defaultIfEmpty(" aaa ", "a"));//6:  aaa 
System.out.println("7: " + StringUtils.defaultIfEmpty(null, "a"));//7: a
 

 

 6. StringUtils.defaultString(String str, String defaultValue)

  和5相似:

 

System.out.println("1: " + StringUtils.defaultString(null, "a"));//1: a
System.out.println("2: " + StringUtils.defaultString("", "a"));//2: 
System.out.println("3: " + StringUtils.defaultString(" ", "a"));//3:  
System.out.println("4: " + StringUtils.defaultString("\n\t", "a"));//4: 
System.out.println("5: " + StringUtils.defaultString("aa", "a"));//5: aa
System.out.println("6: " + StringUtils.defaultString(" aaa", "a"));//6:  aaa

 

 

7.StringUtils.capitalize(String str)

首字母大写

System.out.println(StringUtils.capitalize("xxxx"));//Xxxx

System.out.println(StringUtils.capitalize("Xxxx"));//Xxxx
System.out.println(StringUtils.capitalize(" xxxx"));// xxxx
 

 

8.StringUtils.remove(String str, String removeStr)

从str中去除removeStr

 

System.out.println(StringUtils.remove("abcd", "ab"));//cd
System.out.println(StringUtils.remove("abcd", "ad"));//abcd
 

 类似方法有

StringUtils.removeEnd(arg0, arg1)

StringUtils.removeStart(arg0, arg1)

 

9.StringUtils.countMatches(String str, String find)

计算字符串在另一个字符串中出现的次数:

 

int nCount = StringUtils.countMatches("UPDATE tb_table SET xx=?,xyz=?, sss=? WHERE id=?", "?");

     nCount = 4

这个方法甚妙!个人使用这个方法写了一个自动给预编译语句设置参数的方法,用起来得心应手省了不少事!^_^

 

 

就写到这了,还有很多方法都可以去试试绝对省时省力很多~。StringUtils真的是不可多得的优秀工具类,当然commons.lang更是居家旅行必备良药!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值