`
yose
  • 浏览: 52160 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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更是居家旅行必备良药!

2
5
分享到:
评论
3 楼 yose 2011-05-09  
Technoboy 写道
引用

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

预编译语句传入Object数组不就可以了吗

public void addUser(String sql, Object[] args){
 //
 PreparedStatement ps = null;

 for(int i = 0; i < args.length; i++){
    ps.setObject(i + 1,args[i]);
  
}


我说的这种场景用于判断语句中占位符和参数个数是否一样
2 楼 Technoboy 2011-05-05  
引用

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

预编译语句传入Object数组不就可以了吗

public void addUser(String sql, Object[] args){
 //
 PreparedStatement ps = null;

 for(int i = 0; i < args.length; i++){
    ps.setObject(i + 1,args[i]);
  
}

1 楼 yose 2011-05-05  
哎,javaEye 发篇博客都那么难。。。。 代码格式真蛋疼

相关推荐

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    org.apache.commons.lang jar包下载

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    org.apache.commons.lang3.StringUtils.jar

    /* 内含 common-lang3.jar commons-lang3-3.9-bin.zip commons-lang3-3.9-src.zip 使用说明.txt*/ public static String getClientIp(HttpServletRequest request) { String ip = request.getHeader("X-...

    org.apache.commons.lang3.StringUtils.jar.rar

    在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以看到这个压缩包包含的是 `StringUtils.jar`,实际上它是一个 `common-lang3.jar` 文件的别名。这个 JAR 包是 Apache Commons Lang 项目的...

    commons-lang3-3.1jar:org.apache.commons.lang3.StringUtils等.

    `org.apache.commons.lang3.StringUtils`是Lang包中的一个关键类,它提供了大量与字符串操作相关的静态方法。这些方法涵盖了字符串的检查、比较、转换、格式化以及分割等常见任务。例如: 1. `isEmpty()`:检查字符...

    org.apache.commons.lang jar下载

    1. **字符串操作**: Commons Lang 提供了 `StringUtils` 类,它包含了一系列静态方法,用于执行复杂的字符串操作,如空白字符处理、分割、连接、替换、比较等,这些方法比Java内置的String类功能更加强大。...

    org.apache.commons.lang包

    在Java项目中,将Apache Commons Lang的jar包添加到项目的类路径中,就可以直接使用其中提供的类和方法。 在标签中提到了"commons.lang jar包",这表明了这个资源包的核心是`commons-lang.jar`,在更现代的版本中,...

    com.springsource.org.apache.commons.lang

    标签 "commons.lang" 是Apache Commons Lang库的简写,它是一个通用的标记,用于识别与Apache Commons Lang相关的代码或资源。 在提供的压缩包子文件的文件名称列表中,我们只看到 "新建文件夹",这并没有提供任何...

    commons-lang3-3.1 StringUtils字符串jar包

    commons-lang3-3.1 StringUtils字符串jar包 org.apache.commons.lang3.StringUtils的jar包

    Java字符串加密使用的一个jar包 commons-lang3-3.1.jar下载

    org.apache.commons.lang3.StringUtils org.apache.commons.lang3.ArrayUtils.class org.apache.commons.lang3.BitField.class org.apache.commons.lang3.CharUtils.class org.apache.commons.lang3.ClassUtils....

    commons-lang.jar

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    org.apache.commons 全部包

    1. **Commons Lang**:这是 Apache Commons 中最常用的包之一,提供了大量的 Java 语言工具类。它包括字符串处理、日期和时间操作、反射、枚举支持、数学运算以及创建单例等实用方法。例如,`StringUtils` 类提供了...

    org.apache.commons jar

    1. **Apache Commons Lang**: 这个模块提供了许多高级字符串处理、日期和时间操作、数学计算以及类型转换等功能。例如,StringUtils 提供了各种字符串操作,如空白字符处理、字符串比较、格式化等;ClassUtils 可以...

    org.apache.poi jar包

    import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org...

    org.apache.poi JAR包

    import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org...

    commons-lang3-3.1.jar

    Apache Commons Lang 是一个由Apache软件基金会开发的Java实用工具库,它提供了许多在标准Java类库中未包含的高级和扩展功能。`commons-lang3-3.1.jar`是这个库的一个版本,主要包含了用于处理日常编程任务的各种类...

    org.apache.commons

    2. **Lang**: Apache Commons Lang 提供了对 Java 内置类的扩展,包括字符串处理、数组操作、日期时间等。例如,`StringUtils` 提供了许多字符串处理方法,如空白字符处理、格式化等;`ArrayUtils` 可以进行数组的...

    自定封装StringUtils常用方法

    继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: &lt;!-- ...

Global site tag (gtag.js) - Google Analytics