Общие границы с необработанными типами pre-generics - PullRequest
1 голос
/ 19 ноября 2010

У меня есть коллекция с типом элемента <K extends Comparable<K>>, потому что она упорядочена.

Я пытаюсь использовать Joda LocalTime с этой коллекцией - например, MyCollection<LocalTime>. К сожалению, по-видимому, Йода является пре-дженериками; LocalTime реализует сырье Comparable.

Я получаю сообщение об ошибке компилятора

Bound mismatch: The type LocalTime is not a valid substitute 
for the bounded parameter <K extends Comparable<K>> of the type Interval<K>

Я ожидал бы, что это сработает только с предупреждением, поскольку вполне возможно назначить необработанный тип типизированной переменной.

Почему это не работает, и что я могу с этим поделать?

Вот минимальный пример кода:

class Holder<K extends Comparable<K>> { }
class WTF extends Holder<LocalTime> { }

1 Ответ

1 голос
/ 19 ноября 2010

Вы можете создать класс-оболочку вокруг LocalTime, который implements Comparable<K> и проходит через все вызовы метода.

...