Generics Hell - Как передать joda.DateTime в Hamcrest Matcher.greaterThan?

JodaTime имеет

public final class DateTime extends BaseDateTime {...}

, который работает вплоть до

public interface ReadableInstant extends Comparable<ReadableInstant>

Hamcrest имеет

public static <T extends java.lang.Comparable<T>> org.hamcrest.Matcher<? super T>
    greaterThan(T value) {...}

Если я попробую

greaterThan(new DateTime());

, то я получу ошибку компиляции (Eclipse дает больше всего подсказок)

Универсальный метод superiorThan (T) типа Matchers не применим для аргументов (DateTime). Выведенный тип DateTime не является допустимой заменой ограниченного параметра>

Правильно ли я полагаю, что сигнатура больше чем должна быть

public static <T extends java.lang.Comparable<? super T>> org.hamcrest.Matcher<? super T>     
    greaterThan(T value)

? И есть ли способ соединить их вместе, кроме преобразования в исходный Comparable ?

13
задан Duncan McGregor 1 November 2011 в 17:13
поделиться