Différence entre anyMatch et findAny dans java 8
J'ai un Array
et je veux effectuer une correspondance sur son élément.
J'ai appris que cela pouvait être fait de deux manières dans 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"))
Comme je peux le comprendre, les deux font le même travail.Cependant, je ne pouvais pas trouver lequel préférer?
Quelqu'un Pourrait-veuillez préciser quelle est la différence entre les deux.
5
Author: Stefan Zobel, 2017-05-25
1 answers
Ils font le même travail en interne, mais leur valeur de retour est différente. Stream#anyMatch()
retourne un boolean
while Stream#findAny()
retourne un objet qui correspond au prédicat.
11
Author: Dariusz, 2017-05-25 12:13:35