更新時(shí)間:2022-07-13 10:50:48 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3403次
Java工具類(lèi)怎么寫(xiě)?動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家。
1.命名以復(fù)數(shù)(s)結(jié)尾,或者以Utils結(jié)尾
如 Objects、Collections、IOUtils、FileUtils
2.構(gòu)造器私有化
構(gòu)造器私有化,這樣無(wú)法創(chuàng)建實(shí)例,也無(wú)法產(chǎn)生派生類(lèi)
3.方法使用 static 修飾
因?yàn)闃?gòu)造器私有化了,那么對(duì)外提供的方法就屬于類(lèi)級(jí)別
4.異常需要拋出,不要 try-catch
將異常交給調(diào)用者處理
5.工具類(lèi)不要打印日志
工具類(lèi)屬于公共的,所以不要有定制化日志
6.不要暴露可變屬性
工具類(lèi)屬于公共類(lèi),所以不要暴露可變的屬性;如List集合等(可以返回不可變的集合,或者拷貝一個(gè)暴露給調(diào)用者,這樣調(diào)用者修改了集合中元素,不會(huì)影響到工具類(lèi)中的集合元素)
示例(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;
}
}
以上就是關(guān)于“一文讀懂Java工具類(lèi)怎么寫(xiě)”的介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線(xiàn)學(xué)習(xí),里面的課程從入門(mén)到精通,細(xì)致全面,適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)