Hab*_*yad 2 java predicate list java-8
有没有办法在Java中动态地将Predicate添加到List中?为了简单说明,我这样做了:
List<Predicate<String>> filters = Arrays.asList(
t -> !Utilities.isNumeric(t)
);
filters.add(t -> !t.isEmpty());
Run Code Online (Sandbox Code Playgroud)
但是filters.add在UnsupportedOperationException中执行结果.像这样的固定列表很好.
List<Predicate<String>> filters = Arrays.asList(
t -> !Utilities.isNumeric(t),
t -> !t.isEmpty()
);
Run Code Online (Sandbox Code Playgroud)
解:
List<Predicate<String>> filters = new ArrayList<>(Arrays.asList(
t -> !Utilities.isNumeric(t)
));
Run Code Online (Sandbox Code Playgroud)
说明:
Arrays.asList返回数组参数的固定长度列表1包装器.因为它是固定大小的,所以会改变大小的方法UnsupportedOperationException.
通过将其提供给ArrayList构造函数,您可以创建一个新列表,其大小可以更改.
1 - ....但列表不是不可变的.可以通过更新后备阵列或使用该List::set(int, T)方法来修改它.
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |