【发布时间】:2017-09-16 18:12:43
【问题描述】:
我尝试使用 lambda 表达式从列表中删除一个项目,但 removeIf 生成异常,为什么?
在这个 Orlacle 视频中,jdk8 8 MOOC 介绍了带有 list 而不是 arraylist 的 removeif。这样对吗 ? https://youtu.be/olKF7VpJMfg?list=PLMod1hYiIvSZL1xclvHcsV2dMiminf19x&t=137
public static void main(String[] args){
List<String> parole = Arrays.asList("Lambda ", "expressions ", "are ", "cool ");
Predicate <String> findAre= s->"are ".equals(s);
parole.removeIf(findAre);
parole.forEach( System.out::println);
}
【问题讨论】:
-
请将此作为minimal reproducible example 发布,并将异常包含为text。提供屏幕截图在这里没有任何好处,这意味着异常类型没有被索引...
-
Arrays.asList只是包装提供的数组。你不能改变数组的长度。