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

本文介绍如何通过枚举、三目运算符及Optional等技术替代冗长的if...else判断语句,提高代码的可读性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消除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;
}

51javacms是一款纯ajax的mvc架构cms;摒弃了传统的ssh的java企业级架构的庞大和臃肿代码简洁,功能简单实用,安装一键式;站内搜索是使用lucene3.3的技术;真正的开源;真正的免费;非常适合互联网中小型网站的应用。   51JAVACMS是一款基于JAVA平台研发的内容管理系统,依托JAVA的高效、安全、稳定等优势,并且汲取了php的简洁和方便,开创国内JAVA版开源CMS之先河。 这个系统没有去做日志;审核;复杂权限等企业级的功能;主要想的是为中小型互联网站服务;那些复杂臃肿的功能;留给别人去2次开发。不然的话;会严重影响51javacms的推广和应用;   我个人认为java在互联网的应用为何没有php那么受欢迎,主要是技术人员过分追求复杂的技术架构和逻辑功能去了;搞得草根都不敢去用java了(怕别人说技术不专业);这样的结果是严重阻碍了java在互联网的应用和推广。而php在互联网的成功在于简单务实(织梦php的cms成功就是这个原因)。我们的理念:大道至简;做一款简单实用的java版本的开源cms。   51JAVACMS是51JAVA版网站管理系统(51Java Content Manage System)的简称。 1. 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 2. 采用MVC AJAX简洁的技术架构 3.懂html就能建站,提供最便利、合理的使用方式 4.强大、灵活的标签,用户自定义显示内容和显示方式 5.在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 6.完全生成全站静态页面,全面提高页面访问速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

就是不掉头发

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

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

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

打赏作者

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

抵扣说明:

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

余额充值