通常我們在使用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
提交
取消