欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA8应用-Optional

程序员文章站 2022-06-07 11:50:57
...
public class OptionalTest {
    public static void main(String... args) {
        Optional<String> optional = Optional.ofNullable("");
        Optional<List<String>>
        //若不为空返回true,否则返回false
        boolean notNull = optional.isPresent();
        System.out.println(notNull);
        if (notNull) {
            String value = optional.get();
            System.out.println(value);
            //断言过滤,若正确返回value,否则返回Optional.empty
            Optional<String> predicate = optional.filter(test -> {
                if (test.equals("test")) {
                    return true;
                }
                return false;
            });
            System.out.println(predicate.get());
            //lambda表达式返回值会包装为Optional实例。
            Optional<String> upperName = optional.map((value1) -> value1.toUpperCase());
            System.out.println(upperName.orElse("为null返回默认值"));
        } else {
            //若不为空返回value,否则返回other
            String value = optional.orElse("为null返回默认值");
            System.out.println(value);

        }

    }
}