在下面中经常会遇到if-else 进行赋值,可以通过Optional 函数式编程,替代,让代码更加优雅。
/**
* Builder定义链式赋值
*/
@Data
@Builder
class student {
private Integer id;
private String name;
private String desc;
}
public class demo {
public static void main(String[] args) {
//链式赋值
student stu = student.builder().id(1).name("ancen").desc("beizgy").build();
Map<String,Object> userInfoMap=new HashMap<>();
userInfoMap.put("id",stu.getId());
userInfoMap.put("name",stu.getName());
userInfoMap.put("desc",stu.getDesc());
//Optional判断是否等于该值,执行下面操作
Optional.ofNullable(stu.getId()==1).ifPresent(val->userInfoMap.put("name","ancen1"));
System.out.println(userInfoMap);
}
}