Java工具类怎么写?动力节点小编来告诉大家。
1.命名以复数(s)结尾,或者以Utils结尾
如 Objects、Collections、IOUtils、FileUtils
2.构造器私有化
构造器私有化,这样无法创建实例,也无法产生派生类
3.方法使用 static 修饰
因为构造器私有化了,那么对外提供的方法就属于类级别
4.异常需要抛出,不要 try-catch
将异常交给调用者处理
5.工具类不要打印日志
工具类属于公共的,所以不要有定制化日志
6.不要暴露可变属性
工具类属于公共类,所以不要暴露可变的属性;如List集合等(可以返回不可变的集合,或者拷贝一个暴露给调用者,这样调用者修改了集合中元素,不会影响到工具类中的集合元素)
示例(JDK中Arrays摘录典型部分):
public class Arrays {
/**
* The minimum array length below which a parallel sorting
* algorithm will not further partition the sorting task. Using
* smaller sizes typically results in memory contention across
* tasks that makes parallel speedups unlikely.
*/
private static final int MIN_ARRAY_SORT_GRAN = 1 << 13;
// Suppresses default constructor, ensuring non-instantiability.
private Arrays() {}
@SafeVarargs
@SuppressWarnings("varargs")
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
public static int[] copyOfRange(int[] original, int from, int to) {
int newLength = to - from;
if (newLength < 0)
throw new IllegalArgumentException(from + " > " + to);
int[] copy = new int[newLength];
System.arraycopy(original, from, copy, 0, Math.min(original.length - from, newLength));
return copy;
}
}
以上就是关于“一文读懂Java工具类怎么写”的介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下动力节点的Java在线学习,里面的课程从入门到精通,细致全面,适合没有基础的小伙伴学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习