相关疑难解决方法(0)

为什么Guava类提供了如此多的工厂方法,而不仅仅是一个需要varargs的方法?

可能重复:
为什么Guava的ImmutableList有这么多重载的()方法?

看看Guava的ImmutableList(和其他一些类),你会发现很多重载的of方便方法("返回包含给定元素的不可变列表,按顺序."),它们采用不同数量的参数:

...
public static <E> ImmutableList<E> of(E e1, E e2, E e3) 
public static <E> ImmutableList<E> of(E e1, E e2, E e3, E e4) 
public static <E> ImmutableList<E> of(E e1, E e2, E e3, E e4, E e5) 
... 
Run Code Online (Sandbox Code Playgroud)

一直到这个:

public static <E> ImmutableList<E> of(E e1,
                                      E e2,
                                      E e3,
                                      E e4,
                                      E e5,
                                      E e6,
                                      E e7,
                                      E e8,
                                      E e9,
                                      E e10,
                                      E e11,
                                      E e12,
                                      E... others) 
Run Code Online (Sandbox Code Playgroud)

我的一些同事认为这很愚蠢,想知道为什么不只有一种方法:of(E... elements).他们怀疑这是一个不良导向的性能"优化",属于"你认为你比编译器更聪明"的类别,或类似的东西. …

java variadic-functions guava

11
推荐指数
1
解决办法
1511
查看次数

标签 统计

guava ×1

java ×1

variadic-functions ×1