解决if else
if (code == 1){
return "成功!";
}else{
return "失败";
}
使用枚举替换
public enum MessageEnum {
SUCCESS(1, "成功!"),
FAIL(0, "失败!");
private String name;
private int code;
MessageEnum(int code,String name){
this.code = code;
this.name = name;
}
public int getCode() {
return code;
}
public String getName() {
return name;
}
public static String getValue(Integer code){
MessageEnum[] values = values();
for (MessageEnum value : values) {
if (value.code == code){
return value.name;
}
}
return null;
}
}
修改为 jdk1.8的写法
public static MessageEnum getMessageEnum(int code) {
return Arrays.stream(MessageEnum.values()).filter(x -> x.code == code).findFirst().orElse(null);
}
枚举调用
public String getMessage(int code) {
return messageEnum.getValue(code);
}
三目运算符替换简单判断
public String getMeessage(int code) {
return code == 1 ? "成功" : "失败";
}
对 容易出现空指针的异常处理 使用 optional 例 :如下
public String getMeessage(){
User user = null;
return user.getMeessage() ; // 此处会抛出空指针异常
}
optional 处理
public String getMeessage() {
User user = null;
Optional userOptional = Optional.of(user);
return userOptional .isPresent() ? testOptional.get().getMeessage() : null;
}