package chapter20Java8;

import java.util.Optional;

public class OptionalDemo5DefaultValue {
    public static void main(String[] args) {
        String str = "p";
        String strOpt = Optional.ofNullable(str).orElse(createString());
        String strOpt2 = Optional.ofNullable(str).orElseGet(() -> createString());
        String strOpt3 = Optional.ofNullable(str).orElseGet(OptionalDemo5DefaultValue::createString);

        String nullStr = null;
        String name = Optional.ofNullable(nullStr).orElse("PeterJXL");
        System.out.println(name);   //PeterJXL


    }

    public static String createString(){
        System.out.println("invoke createString");
        return "zhang san";
    }
}