[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/66-24/functional_java/main/src/main/java/OptionalDemo.java [Back]  [Original]

import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;

public class OptionalDemo {
    public static void main(String[] args) {
        Optional first = Stream.of(3, 1, 4, 1, 5, 9)
                .filter(n -> n > 10)
                .findFirst();

        System.out.println(first);

        // System.out.println(first.isPresent() ? (int) first.get() : 0);

        int defaultValue = 0;
        System.out.println(first.orElse(defaultValue));
        System.out.println(first.orElseGet(() -> defaultValue));
        first.ifPresent(System.out::println);


        List strings = List.of("this", "is", "a", "list", "of", "strings");
        Optional s = strings.stream()
                .findFirst();

        System.out.println(s.orElse("No string found; legal values are: " + strings));
        System.out.println(s.orElseGet(() -> "No string found; legal values are: " + strings));
        System.out.println(s.orElseThrow(IllegalArgumentException::new)); // default constructor
        System.out.println(s.orElseThrow(() -> new IllegalArgumentException("Not available")));
        s.ifPresent(System.out::println);
    }
}

Web Proxy Viewer  |  New URL  |  Original Page