Srping Utils包的使用

在写应用的时候经常设计到对List的操作问题,比如个从Dao里取得数据,返回一个List,当该list为空,或者size == 0的时候回去抛异常,或者做一些其它业务逻辑,我见过好多项目中都会在开始建立的时候写一大堆的Utils类,其中就包或对String,List等的操作,我觉得完全没有必要自己写这些了,spring util包已经能够满足我们的需求了.
org.springframework.util

CollectionUtils.java

下边是我认为操作集合最常用不过的两个方法了,代码很简单清爽:

//可以传入List 等实现了Collection接口的集合进去
public static boolean isEmpty(Collection collection) {
return (collection == null || collection.isEmpty());
}

//重载了isEmpty方法,可以传实现了Map接口的集合进去,比如:HashMap
public static boolean isEmpty(Map map) {
return (map == null || map.isEmpty());
}


StringUtils.java

同样的,字符串的常用操作也是不可少的:


//判断字符序列是否有长度
public static boolean hasLength(CharSequence str) {
return (str != null && str.length() > 0);
}

//判断字符串是否有长度,复用了上边的方法
public static boolean hasLength(String str) {
return hasLength((CharSequence) str);
}

这里的CharSequence是JDK里String所实现的一个接口:
通过查看JDK6.0的源码可以看到:

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence

CharSequence 有什么样的方法呢:继续跟进去看:

public interface CharSequence {

//返回字符序列的长度
int length();

//返回字符序列中指定位置的字符
char charAt(int index);

//按照参数start和end返回指定位置的子 字符序列
CharSequence subSequence(int start, int end);

//这个不用说了吧
public String toString();

}

判断了字符串是否有长度还不够,万一是一个长度为10的空格组成的字符串呢,在做一些应用开发的时候,这样的数据往往是没有意义的,Spring照样也有这样的方法,继续往下看:
还是在StringUtils.java中:

public static boolean hasText(CharSequence str) {
//这里首先保证字符
if (!hasLength(str)) {
return false;
}
int strLen = str.length();
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}

//重载了上边的方法,参数换为String类型,复用上边方法
public static boolean hasText(String str) {
return hasText((CharSequence) str);
}

有时候处理数据又不希望在字符串中出现空格,跟上边方法相反的可以判断字符序列中是否有空格:

//判断字符序列中是否有空格
public static boolean containsWhitespace(CharSequence str) {
if (!hasLength(str)) {
return false;
}
int strLen = str.length();
for (int i = 0; i < strLen; i++) {
//这里的判断刚好跟上边那个方法相反
if (Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}

//同样的重载上边这个方法
public static boolean containsWhitespace(String str) {
return containsWhitespace((CharSequence) str);
}

还有类似好多的常用方法,其实都能用到,除此以为还有ObjectUtils、ClassUtils等等,有心去的朋友去看一下Spring2.5.6的源代码,没必要再自己重新写Utils包了,软件的目标是复用,已经有的轮子就没有必要再发明一次了,希望我的文章能帮助你,本人水平有限,如有不对欢迎大家拍砖。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值