谓词与对象

时间:2019-06-20 09:59:40

标签: java java-8 java-stream

我在调试代码时遇到了这个问题。 Predicate与Object不能正确匹配字符串,但是当我循环执行equals时,它可以工作。

有什么理由吗?

List testlist = Arrays.asList("asd", 1, 2 );
Predicate<Object> p1 = s -> s.equals("asd");

for (Object obj : testlist) {
    System.out.println(obj.equals("asd"));
}

System.out.println(testlist.stream().allMatch(p1));
  

输出:

true
false
false
false

0 个答案:

没有答案