问题描述
在Java 9 List
,Set
和Map
接口中,我们具有of
方法,该方法支持varargs(static <E> List<E> of(E... elements)
),因此具有单独的目的是什么具有一到十个参数的方法。
static <E> List<E> of(E e1) //Returns an unmodifiable list containing one elements.
static <E> List<E> of(E e1,E e2) //Returns an unmodifiable list containing two elements.
static <E> List<E> of(E e1,E e2,E e3) //Returns an unmodifiable list containing three elements.
static <E> List<E> of(E e1,E e3,E e4) //Returns an unmodifiable list containing four elements.
static <E> List<E> of(E e1,E e4,E e5) //Returns an unmodifiable list containing five elements.
static <E> List<E> of(E e1,E e5,E e6) //Returns an unmodifiable list containing six elements.
static <E> List<E> of(E e1,E e6,E e7) //Returns an unmodifiable list containing seven elements.
static <E> List<E> of(E e1,E e7,E e8) //Returns an unmodifiable list containing eight elements.
static <E> List<E> of(E e1,E e8,E e9) //Returns an unmodifiable list containing nine elements.
static <E> List<E> of(E e1,E e9,E e10) //Returns an unmodifiable list containing ten elements.
要使用三个以上支持varargs的List.of
方法创建列表,请调用new ImmutableCollections.ListN<>(elements);
。 List<E> of(E e1,E e3)
至List<E> of(E e1,....E e10)
也是如此。
static <E> List<E> of(E... elements) {
switch (elements.length) { // implicit null check of elements
case 0:
@SuppressWarnings("unchecked")
var list = (List<E>) ImmutableCollections.EMPTY_LIST;
return list;
case 1:
return new ImmutableCollections.List12<>(elements[0]);
case 2:
return new ImmutableCollections.List12<>(elements[0],elements[1]);
default:
return new ImmutableCollections.ListN<>(elements);
}
}
static <E> List<E> of(E e1,E e10) {
return new ImmutableCollections.ListN<>(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)