第53條 慎用可變參數(shù)
-
如果可變參數(shù)要求至少要求一個參數(shù)的話盯拱,可以使用這種樣式
public int min(int firstArg, int... remainingArgs) { int min = firstArg; for(int arg: remainingArgs) { if (arg < min) { min = arg; } } return min; }
-
可變參數(shù)可能會帶來一些性能問題番舆,如果對應(yīng)能有一定要求可以使用方法重載
public void foo() {} public void foo(int a1) {} public void foo(int a1, int a2){} public void foo(int a1, int a2, int... rest){}
思考
- Guava的很多構(gòu)造方法就采用了第2點的格式
第54條 返回零長度的數(shù)組或集合, 而不是null
- 如果擔心每次返回空列表都會創(chuàng)建一個新的對象而帶來開銷,可以使用
Collections
里面的emptyList
描馅、emptySet
攒至、empetMap
方法刽辙,只不過可能不會帶來多大的性能提升