StringUtils工具类的使用
2015-06-12 11:48
288 查看
不知道你们的代码中是否会出现如下情况if("".equals(str) && str == null) {}, 反正我以前判断字符串为空的时候经常这么干,但实际上这么写代码很啰嗦,commons-lang-2.5.jar包中供了一个很方便的工具类StringUtils,今天就是简单介绍一下这个工具类支持哪些常用功能,心中有个数,以后写代码的时候也可以直接用。
1、判断字符串是否为空isEmpty()和isBlank()
String str1="";
String str2=" ";
String str3=null;
System.out.println(StringUtils.isEmpty(str1)); //true
System.out.println(StringUtils.isEmpty(str2)); //false
System.out.println(StringUtils.isEmpty(str3)); //true
System.out.println(StringUtils.isBlank(str1)); //true
System.out.println(StringUtils.isBlank(str2)); //true
System.out.println(StringUtils.isBlank(str3)); //true通过代码的执行情况我们就看明白了,也看到了isEmpty()和isBlank()两个函数的区别。
2、去空格trim()
如果字符串是null,那么返回null,不为null的时候正常去除左右空格
3、如果是null值就转换成空字符串,trimToEmpty()
System.out.println(StringUtils.trimToEmpty(" abc ")); //abc
System.out.println(StringUtils.trimToEmpty(null)); //空字符串4、indexOf() 查找位置
System.out.println(StringUtils.indexOf(null, "abc")); //-1
System.out.println(StringUtils.indexOf("aabcd", "abc")); //0
没必要往下继续写了,发现StringUtils类的源代码提供的方法大多是与String类提供的方法重名的,使用StringUtils类最大的好处就是可以避免空指针的问题!
1、判断字符串是否为空isEmpty()和isBlank()
String str1="";
String str2=" ";
String str3=null;
System.out.println(StringUtils.isEmpty(str1)); //true
System.out.println(StringUtils.isEmpty(str2)); //false
System.out.println(StringUtils.isEmpty(str3)); //true
System.out.println(StringUtils.isBlank(str1)); //true
System.out.println(StringUtils.isBlank(str2)); //true
System.out.println(StringUtils.isBlank(str3)); //true通过代码的执行情况我们就看明白了,也看到了isEmpty()和isBlank()两个函数的区别。
2、去空格trim()
如果字符串是null,那么返回null,不为null的时候正常去除左右空格
3、如果是null值就转换成空字符串,trimToEmpty()
System.out.println(StringUtils.trimToEmpty(" abc ")); //abc
System.out.println(StringUtils.trimToEmpty(null)); //空字符串4、indexOf() 查找位置
System.out.println(StringUtils.indexOf(null, "abc")); //-1
System.out.println(StringUtils.indexOf("aabcd", "abc")); //0
没必要往下继续写了,发现StringUtils类的源代码提供的方法大多是与String类提供的方法重名的,使用StringUtils类最大的好处就是可以避免空指针的问题!
相关文章推荐
- Construct Binary Tree from Preorder and Inorder Traversal
- 计算机视觉学习资源
- property_get/property_set
- leetcode Merge Two Sorted Lists
- JEE一些常用错误收集
- laravel5学习笔记(3)——复杂的路由
- 解决maven的“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误
- Redis IRedisTypedClient
- linux命令1——chown命令
- django自定义过滤器函数
- Construct Binary Tree from Inorder and Postorder Traversal
- 单元模型对象必须保护共享数据
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- android编译系统的makefile文件Android.mk写法
- Android组建1:Intent的使用
- 【转】mapgis的一些实用方法和处理技巧
- HTML中的div标签
- 9-1图案和图案画笔的定义
- super
- EXCEL之读取列数据