diff --git a/src/effectivejava/chapter5/item30/RecursiveTypeBound.java b/src/effectivejava/chapter5/item30/RecursiveTypeBound.java index e3419dfc..694c0863 100644 --- a/src/effectivejava/chapter5/item30/RecursiveTypeBound.java +++ b/src/effectivejava/chapter5/item30/RecursiveTypeBound.java @@ -10,14 +10,14 @@ public static > E max(Collection c) { E result = null; for (E e : c) - if (result == null || e.compareTo(result) > 0) - result = Objects.requireNonNull(e); + if (e != null && (result == null || e.compareTo(result) > 0)) + result = e; - return result; + return Objects.requireNonNull(result); } public static void main(String[] args) { List argList = Arrays.asList(args); System.out.println(max(argList)); } -} \ No newline at end of file +}