为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不用导入就可以使用Predicate参数?

为什么不用导入就可以使用Predicate参数?

守着星空守着你 2023-04-26 13:46:52
通常我们在使用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。这是为什么?

因为PredicateaFunctionalInterface可以表示为 lambda 而无需使用任何imports。lambda 的类型由编译器推断。


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信