通常我们在使用Predicate的时候,需要引入java.util.function.Predicate。但在我的例子中,如果我们使用 Predicate 作为方法中的参数 (removeIf()),我们不需要导入 Predicate。这是为什么?import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("ABCDEFG"); list.add("ABC"); list.removeIf(s -> s.length() > 4); System.out.println(list); // ABC }}谢谢。
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
如果我们在方法中使用 Predicate 作为参数(removeIf()),则不需要导入 Predicate。这是为什么?
因为Predicate
aFunctionalInterface
可以表示为 lambda 而无需使用任何import
s。lambda 的类型由编译器推断。
添加回答
举报
0/150
提交
取消