Я сталкивался с этим при отладке кода. Predicate
с Объектом не соответствует строке правильно, но когда я повторяю цикл для выполнения 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