【发布时间】:2011-04-13 20:46:46
【问题描述】:
我只是在看 Guava 的 ImmutableList,发现 of() 方法被重载了 12 次。
在我看来,他们所需要的只是:
static <E> ImmutableList<E> of();
static <E> ImmutableList<E> of(E element); // not even necessary
static <E> ImmutableList<E> of(E... elements);
为什么会有这么多相似的变体?
【问题讨论】:
-
无论如何,它们都将参数传递给内部可变参数方法......呵呵。我将不得不在这个问题上扬起眉毛。嗯,消息来源有一条评论“这些最多十一个。在那之后,你只会得到可变参数形式,以及可能出现的任何警告。:(”。不过,我不确定它指的是什么警告。
-
@Tim,这可能会是一个很好的答案,至少值得并投赞成票,并且可能会被接受。
-
+1 为 Google 提供最多 11 点!
-
@romacafe 我认为 Google 被击败了:svn.codehaus.org/groovy/trunk/groovy/groovy-core/src/main/org/… 尽管 Groovy 出于性能原因这样做。最近在 Hack News (news.ycombinator.com/item?id=1951803) 上讨论了它
-
“这些到十一点。” -- en.wikipedia.org/wiki/Up_to_eleven
标签: java guava overloading