我有一个Array
,想对其元素执行一些匹配。
我知道可以在java 8
中以两种方式完成此操作:
String[] alphabet = new String[]{"A", "B", "C"};
anyMatch:Arrays.stream(alphabet).anyMatch("A"::equalsIgnoreCase);
findAny:Arrays.stream(alphabet).filter("a"::equalsIgnoreCase)
.findAny().orElse("No match found"));
据我了解,两者都在做相同的工作。但是,我找不到哪个更喜欢?有人可以说清楚两者之间的区别是什么。
最佳答案
它们在内部执行相同的工作,但是它们的返回值不同。 Stream#anyMatch()
返回boolean
,而 Stream#findAny()
返回与谓词匹配的对象。
关于java - Java 8中anyMatch和findAny之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44179756/