ポリシーモードは三元式とともにif elseを消滅する
2040 ワード
import java.util.HashMap;
public class XuQiu {
/**
* , +1
* ,
* : , +1, , 1
* : 【 】 【 】
* XuQiu 【 】 , Action 【 】
* : , : , action ,
* 2: action , , new 。
* : new 。
* */
public static HashMap poll;
public static void main(String[] args) {
poll=new HashMap();
String key="usdt";
for(int i=0;i<=5;i++){
Action1.getInstance().add(poll,key);
System.out.println(poll);
}
}
}
=================================
import java.util.HashMap;
/**
* : , , ,
* if else 。
*/
public class Action1 implements Action {
public static final Integer addNum = 1;
private Action1(){}
static Action1 action1;
public static Action1 getInstance(){
if(action1==null){
action1=new Action1();
}
return action1;
}
public void add(HashMap poll, String key) {
Integer num = poll.get(key);
Integer integer = poll.get(key) != null ?
poll.put(key, num + addNum)
: Action2.getInstance().add(poll, key);
}
}
import java.util.HashMap;
import java.util.Optional;
/**
* , ,
* */
public class Action2 {
public static final Integer originNum=1;
private Action2(){
}
private static Action2 action2;
public static Action2 getInstance(){
if(null==action2){
action2= new Action2();
}
return action2;
}
public Integer add(HashMap poll, String key) {
return Optional.ofNullable(poll.put(key, originNum)).orElse(2);
}
}