public static OptionalInt max1(int... a) { return Arrays.stream(a).max(); } public static OptionalInt max2(int... a) { if (a == null || 0 == a.length) return OptionalInt.empty(); int max = a[0]; for (int i = 1; i < a.length; i++) { if (a[i] > max) max = a[i]; } return OptionalInt.of(max); }