Got to implement the method below for an assignment which it’s subject is “WildCards”, but don’t know where to use wildcards in order to resolve the warning.
static <T extends Comparable> T findMax(T ... items) { T max = items[0]; for (T item : items) if (item.compareTo(max) > 0) max = item; return max; }
Any ideas ?
Advertisement
Answer
Comparable
is a generic interface, so to use it safely you must always specify the generic type to use. In your case, something like:
<T extends Comparable<T>>
is likely what you’re looking for. Otherwise, the compiler is unable to help you verify that the types are actually compatible in all scenarii.