【发布时间】:2018-03-12 20:32:34
【问题描述】:
我知道如何用这种方式声明其他东西的数组,比如字符串:
String[] strings = { "one", "two", "tree" };
// or
String[] strings = new String[] { "one", "two", "tree" };
但是当涉及到方法引用时,我不知道如何避免 创建一个列表并单独添加每个项目。
例子:在几个不同的地方调用smartListMerge方法
来自两个来源的匹配列表:
List<Function<TodoUser, TodoList>> listGetters = new ArrayList<>(3);
listGetters.add(TodoUser::getPendingList);
listGetters.add(TodoUser::getCompletedList);
listGetters.add(TodoUser::getWishList);
TodoUser userA = ..., userB = ...;
for (Function<TodoAppUser, TodoList> listSupplier : listGetters) {
TodoList sourceList = listSupplier.apply(userA);
TodoList destinationList = listSupplier.apply(userB);
smartListMerge(sourceList, destinationList);
}
声明方法引用数组的正确方法是什么?
【问题讨论】:
-
你想要一个列表还是一个数组?