工具类通过final类、私有构造和静态方法实现,如StringUtils提供isBlank和concat方法,便于复用且需遵循单一职责与参数校验。
在Java中创建可复用的工具方法,通常通过定义工具类(Utility Class)来实现。这类类不用于实例化对象,而是提供一系列静态方法供其他类调用,常见于字符串处理、日期操作、文件读写等场景。
一个标准的工具类具有以下特征:
c,可直接通过类名调用public final class StringUtils {
// 私有构造方法,禁止实例化
private StringUtils() {
throw new AssertionError("工具类不能实例化");
}
// 静态方法:判断字符串是否为空或空白
public static boolean isBlank(String str) {
return str == null || str.trim().isEmpty();
}
// 静态方法:拼接两个字符串
public static String concat(String a, String b) {
return (a == null ? "" : a) + (b == null ? "" : b);
}
}
由于方法是静态的,使用时无需创建对象,直接通过类名调用即可:
if (StringUtils.isBlank(userName)) {
System.out.println("用户名不能为空");
}
String fullName = StringUtils.concat(firstName, lastName);
这种方式简洁、直观,且易于在项目中复用。
业界普遍采用“功能 + Utils”作为类名后缀,例如:
DateUtils:处理日期时间CollectionUtils:操作集合NumberUtils:数值转换与判断BeanUtils:JavaBean 属性拷贝这些命名方式清晰表达了类的用途,便于团队协作和维护。
基本上就这些。只要遵循私有构造、静态方法、final类这几点,就能写出安全、易用的工具类。关键是保持方法简单、通用,才能真正实现复用。