Java: удаление предупреждения «Comparable is a raw type»

Предположим, у меня есть метод с именем foo, принимающий в качестве параметра 2 объекта. Оба объекта имеют один и тот же тип, и оба реализуют сопоставимый интерфейс.

void foo(Object first, Object second){

    if (!first.getClass().isInstance(second))   //first and second of the same type
        return;

    Comparable firstComparable = (Comparable)first;  //WARNING
    Comparable secondComparable = (Comparable)second;  //WARNING

    int diff = firstComparable.compareTo(secondComparable);  //WARNING
}

Первые два предупреждения:

Comparable - это необработанный тип. Ссылки на общий тип Comparable. должен быть параметризован

Последнее предупреждение:

Безопасность типа: метод compareTo (Object) принадлежит к необработанному типу Сопоставимо. Ссылки на общий тип Comparable должны быть параметризованный

Как я могу провести рефакторинг моего кода, чтобы удалить эти предупреждения?

РЕДАКТИРОВАТЬ: Могу ли я сделать это, не меняя сигнатуру метода foo?

7
задан Heisenbug 10 August 2011 в 09:55
поделиться