通常我們在使用Predicate的時(shí)候,需要引入java.util.function.Predicate。但在我的例子中,如果我們使用 Predicate 作為方法中的參數(shù) (removeIf()),我們不需要導(dǎo)入 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貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果我們在方法中使用 Predicate 作為參數(shù)(removeIf()),則不需要導(dǎo)入 Predicate。這是為什么?
因?yàn)?code>PredicateaFunctionalInterface
可以表示為 lambda 而無需使用任何import
s。lambda 的類型由編譯器推斷。
添加回答
舉報(bào)
0/150
提交
取消