2017-05-04 95 views
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這個通用類定義的工作?

回答

4

Should't你的定義看上去就像這樣:

static final class Range<T extends Comparable<? super T> & 
      Serializable> implements Serializable { 
+0

大輸入謝謝你,我是知道的定義需要尋找不同的,但它不是我清楚如何添加此參考實現的接口。不過,你是否也知道我的第一個問題(這對我來說只是一個哲學問題)的答案,爲什麼繼承的接口方法沒有被檢索? – hecko84

+1

@ hecko84因爲javadoc這樣說嗎?返回由此對象表示的類或接口直接實現的接口。有辦法讓他們全部; 'guava'通過'TypeToken'提供。 – Eugene

+0

好的,我明白了,有時候閱讀有幫助,我只是沒有看。無論如何,感謝關於番石榴和通用定義的提示。 – hecko84