osElse Gibt den int-Wert des Arguments zurück, wenn OptionalInt null ist
System.out.println(IntStream.of(1, 2, 3).findFirst().orElse(100)); //=>Gibt die von findFirst verdiente 1 zurück
System.out.println(IntStream.of().findFirst().orElse(100)); //=>Gibt 100 als Argument zurück, da es mit findFirst nicht abgerufen werden kann
orElseGet Führen Sie das Argument Supplier aus, wenn OptionalInt null ist
System.out.println(IntStream.of(1, 2, 3).findFirst().orElseGet(() -> 100)); //=>Gibt die von findFirst verdiente 1 zurück
System.out.println(IntStream.of().findFirst().orElseGet(() -> 100)); //=>Weil Sie es mit findFirst nicht bekommen können()->100 wird ausgeführt, um den Rückgabewert 100 zu erhalten
Wahrscheinlich benannt nach einer Methode namens ifPresent Da ifPresent eine void-Methode ist, kann sie nicht mit orElse in der Methodenkette koexistieren.
//Das Folgende ist ein Kompilierungsfehler
ifPresent(System.out::println).orElse(0);
Recommended Posts