【发布时间】:2011-11-01 17:13:19
【问题描述】:
JodaTime 有
public final class DateTime extends BaseDateTime {...}
一直到
public interface ReadableInstant extends Comparable<ReadableInstant>
汉克雷斯特有
public static <T extends java.lang.Comparable<T>> org.hamcrest.Matcher<? super T>
greaterThan(T value) {...}
如果我尝试
greaterThan(new DateTime());
然后我得到一个编译错误(Eclipse 提供了大部分线索)
Matchers 类型的泛型方法 GreaterThan(T) 不适用 对于参数(日期时间)。推断的类型 DateTime 不是有效的替代品 对于有界参数 >
我是否认为greaterThan 的签名实际上应该是
public static <T extends java.lang.Comparable<? super T>> org.hamcrest.Matcher<? super T>
greaterThan(T value)
?除了投射到原始Comparable 之外,有没有办法将这些组合在一起?
【问题讨论】:
-
current source of
OrderingComparison有<T extends Comparable<T>> Matcher<T> greaterThan(T value)。 -
@DavidHarkness - 我应该说我正在查看 1.3.0RC1,但 RC2 不只更改返回类型吗?这是不被接受的论点。
-
是的,最新的代码似乎不适用于单个父类的两个不同子类。
标签: java generics jodatime hamcrest