在Google Guava(Java)中,为什么Iterables.getFirst()和getLast()不一致?

2022-09-01 23:38:22

来自 Google Guava JavaDoc for Iterables

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

-> 返回中的第一个元素,或者如果可迭代对象为空。iterabledefaultValue

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

-> 返回 的最后一个元素。iterable

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

-> 返回的最后一个元素,或者如果可迭代对象为空。iterabledefaultValue

缺少一个静态方法(对我来说):

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

-> 返回 的第一个元素。iterable

您知道这种不一致的原因吗?


答案 1

因为它太简单了,无法证明帮助器方法的合理性。该方法将只是并且将具有与 的行为完全相似。iterable.iterator().next()getLast()


答案 2

推荐