2011-10-20 3 views
19

Google Guava JavaDoc for Iterablesから:Google Guava(Java)では、Iterables.getFirst()とgetLast()が矛盾しているのはなぜですか?

static <T> T getFirst(Iterable<T> iterable, T defaultValue) 

- イテラブルが空の場合、iterableまたはdefaultValueの最初の要素を返します。

static <T> T getLast(Iterable<T> iterable) 

- >iterableの最後の要素を返します。

static <T> T getLast(Iterable<T> iterable, T defaultValue) 

- iterableが空の場合、iterableまたはdefaultValueの最後の要素を返します。

1つの静的メソッドが見つからない(私に):

static <T> T getFirst(Iterable<T> iterable) 

- >iterableの最初の要素を返します。

あなたはこの不一致の理由を知っていますか?

答えて

19

ヘルパーメソッドを正当化するのは簡単すぎるためです。この方法はちょうどiterable.iterator().next()で、正確にはgetLast()に似た動作をします。

+3

厳密に言えば、iterable.iterator()。next()ですが、私は同意します。 –

+0

もちろん、あまりにも速すぎて入力しました。私はそれを修正します。 –

+11

でも、 'Iterables.getLast()'のようなメソッドを使うと、コードの読みやすさと意図の表現のためだけに存在すると仮定します... –

関連する問題