2
私は、java.time API、特にLocalDateに問題があります。拡張インターフェイスのメソッドが拡張インターフェイスを実装するクラスで表示されないのはなぜですか?
LocalDateはChronoLocalDateを実装しており、これはComparableを実装しています。
私は
LocalDate now = LocalDate.now();
now.getClass().getInterfaces();
ような何かを行うときにのみLOCALDATEで直接私にインターフェースを示していますが、ChronoLocalDateに継承されていないもの。これはなぜですか?
アドオン:私の元の問題は、同等クラスを実装する型で動作するジェネリッククラスを持っていることですが、LocalDateではComparableを直接実装していないため明らかに動作しません。ここで
は、ジェネリッククラスの定義です:
public final class Range<T extends Comparable<T> & Serializable> implements Serializable
私はLOCALDATEタイプについて、この一般的なクラス定義を機能させるために行うには何が必要でしょうか?
グレート入力は、私は定義が異なって見えるために必要なことを知っていたが、この参照を追加する方法を私に明確ではありませんでした、ありがとうございました実装されたインタフェースそれにもかかわらず、私の最初の質問(私にとって哲学的なものです)に対する答えを知っていますか?継承されたインターフェースメソッドがそれによって検索されないのはなぜですか? – hecko84
@ hecko84 javadocはこう言っているのですか? 'このオブジェクトが表すクラスまたはインタフェースによって直接実装されたインタフェースを返す '。それらをすべて得る方法があります。 'guava'は' TypeToken'でこれを提供します。 – Eugene
私は、時には読むことを参照してください、私はちょうどそれを見ていない参照してください。とにかくグアバとジェネリック定義についてのヒントをありがとう。 – hecko84