Java 写代码的时候如果有太多if-else不仅看起来low,也不利于阅读,利用lamda表达式可以很轻松解决这个问题,示例如下:
Integer a=5;
if(a==1){
System.out.println("a为1");
}else if(a==2){
System.out.println("a为2");
}else if(a==3){
System.out.println("a为3");
}else if(a==4){
System.out.println("a为4");
}else if(a==5){
System.out.println("a为5");
}
Map<Integer, Supplier> map=new HashMap<>();
map.put(1,()->{
System.out.println("a为1");
return null;
});
map.put(2,()->{
System.out.println("2");
return null;
});
map.put(3,()->{
System.out.println("3");
return null;
});
map.put(4,()->{
System.out.println("a为1");
return null;
});
map.put(5,()->{
System.out.println("a为5");
return null;
});
map.get(a).get();
}
这两段代码的输出是一致的,当然我这里使用的式生产式接口,根据自己的需求来设置就行了。
|