在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); }