JodaのAbstractInstantインターフェイスはJava best practicesに違反していると思われるComparable<AbstractInstant>
ではなく、生のタイプComparable
を拡張します。特に、それは私がこのようなクラスをパラメータ化するのDateTimeを使用できないことを意味しますJodaが生の型Comparableを拡張するのはなぜですか?
class Foo<T extends Comparable<? super T>> {
public int ct(T a, T b) {
return a.compareTo(b);
}
}
それはクラスのこの種の私の理解だった(それは確かになどダブル、で動作します)完全に有効でした。それは日時で動作するように取得するには、しかし、私は生タイプのごみ自分のコードがあると警告抑制:
@SuppressWarnings("unchecked")
class Foo<T extends Comparable> {
public int ct(T a, T b) {
return a.compareTo(b);
}
}
をする目的のために別のクラスでのDateTimeを包む回避策を(示唆related questionがあります比較)、しかし、私はそれがなぜ必要なのか分からない。私の質問は次のようになります。
- ジョダは生タイプを拡張している、または
- は、私は、ライブラリのメンテナに報告すべきバグこれは、なぜ誰もが知っていますか?
Jona 2.0はジェネリックをサポートしているので、この問題に対処しています。 – Snekse