Java如何减少繁琐臃肿的代码

消除ifelse

在项目实际开发中使用if…else判断的场景非常多,上面只是其中几种场景。下面再列举一下,其他常见的场景。

1.根据不同的数字返回不同的字符串
  public String getMessage(int code) {
        if (code == 1) {
            return "成功!";
        } else if (code == -1) {
            return "失败!";
        } else if (code == -2) {
            return "网络超时!";
        } else if (code == -3) {
            return "参数错误!";
        }
        throw new RuntimeException("code异常!");
    }

使用枚举可以轻松替换掉上面那段代码

public enum MessageEnum {

    SUCCESS(1, "成功!"),
    FAIL(-1, "失败!"),
    TIME_OUT(-2, "网络超时!"),
    PARAM_ERROR(-3, "参数错误!");

    private int code;
    private String message;

    MessageEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }

    public static MessageEnum getMessageEnum(int code) {
        return Arrays.stream(MessageEnum.values()).filter(x -> x.code == code).findFirst().orElse(null);
    }
}

调用方法

public String getMessage(int code) {
    MessageEnum messageEnum = MessageEnum.getMessageEnum(code);
    return messageEnum.getMessage();
}

三目运算符替换简单判断

例如这种简单的if判断方法

public String getMessage2(int code) {
    if(code == 1) {
        return  "成功";
    }
    return "失败";
}

替换为三目运算符

public String getMessage2(int code) {
    return code == 1 ? "成功" : "失败";
}

Optional解决空指针问题

Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。
从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。
本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。

可以使用Optional来解决空指针异常问题

public String getMessage8(int code) {
    Test test = null;
    Optional<Test> testOptional = Optional.of(test);
    return testOptional.isPresent() ? testOptional.get().getMessage2(1) : null;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就是不掉头发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值