私が書いた関数について、最終的なレビューといくつかのヒントが必要です。
public static Integer max(Integer... pNumber) {
Integer lResult = null;
for (Integer lNumber : pNumber) {
if (lResult == null || (null != lNumber && lNumber > lResult)) {
lResult = lNumber;
}
}
return lResult;
}
私のコードがエレガントかどうかはよくわかりません。null パラメータと null 結果が可能です。しかし...コード内の複雑な問題を解決したような気がします。この関数は、会社で使用されるユーティリティ クラスの一部です。サードパーティのライブラリの使用は許可されていません。
対応するテストは次のとおりです。
@Test
public void testMaxWithInteger() {
assertEquals(new Integer(9), NumberUtils.max(4, 2, -4, null, 9, 5));
}
前もって感謝します