Java项目工程中utils包与tools包的理解
原创
©著作权归作者所有:来自51CTO博客作者zhuhuix的原创作品,请联系作者获取转载授权,否则将追究法律责任
在java工程中,一般我们会用Utils或Tools的包名来封装一些通用的工具类。单单从字面上来看,两者都可以表示工具的意思,但往往并不能做出比较精准的定义。以下是本人对utils包与tools包的定义及理解:
定义:
包名
| 定义
| 方法或属性
| 举例
|
utils
| 通用的且与项目业务无关的类的组合;可供其他项目使用
| 方法通常是public static的;一般无类的属性,如果有,也是public static的
| 字符串工具类,文件工具类等
|
tools
| 当前项目中通用的业务类的组合;仅能当前项目使用
| 不限
| 用户校验工具类,支付工具类等
|
例子:
Utils:
public class StringUtils {
...
public static final String SPACE = " ";
public static final String EMPTY = "";
...
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
public static boolean isBlank(final CharSequence cs) {
int strLen;
if (cs == null || (strLen = cs.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
}
...
}
Tools:
/**
*验证工具类接口定义
*/
public interface VerificationTools {
/**
* 发送邮件验证码
* @param code 验证码
* @return EmailVo
*/
EmailVo sendEmail(VerificationCode code);
/**
* 验证用户
* @param user实体类
* @return 返回是或否
*/
Boolean validatedUser(User user);
}