引自:http://www.cnblogs.com/xingzc/p/5778090.html
补充:对于
String name=null;
String name1=null;
Optional.ofNullable(name).orElse(name1) 你前面ofNullable() 里面是啥类型的,后面orElse() 里面就要写啥类型的。
String name1="22222www";
String s = Optional.ofNullable(name).orElse("wwwww");
String s = Optional.ofNullable(name).orElse(name1);
对于orElseGet() 一般可以用于调用方法上:
例如:
static final String NAMESS="hahhahahhahhah";
public static String gg(String NAMESS){
return NAMESS;
}
public static void tt() {
String name=null;
String name1="22222www";
//以后调用方法 () -> gg(NAMESS) NAMESS 为参数必须是调用方法的参数名称
String s = Optional.ofNullable(name).orElseGet(() -> gg(NAMESS));
System.out.println(s);
}
总结到一点:想把成员变量放进静态方法中必须保证成员变量也是静态的。
例如:
static final String NAMESS="hahhahahhahhah";
public static String gg(String NAMESS){
return NAMESS;
}