我有一个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/

10-09 03:13