How to resolve `Raw use of parameterized class 'Comparable'` warning?

21.4k Views Asked by At

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 ?

1

There are 1 best solutions below

6
Dici On BEST 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.