java 太臃肿_Java简洁开发技巧,减少繁琐臃肿的代码

消除if...else的方法

在项目实际开发中使用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;

}

//jdk1.8的写法

public static MessageEnum getMessageEnum(int code) {

return Arrays.stream(MessageEnum.values()).filter(x -> x.code == code).findFirst().orElse(null);

}

//jdk1.8以下MessageEnum办法的写法

/*

public static MessageEnum getMessageEnum(int code) {

for (MessageEnum messageEnum : MessageEnum.values()) {

if (code == messageEnum.code) {

return messageEnum;

}

}

return 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 ? "成功" : "失败";

}

判断是否为null

java中自从有了null之后,很多地方都要判断实例是否为null,不然可能会出现NPE的异常。public String getMessage7(int code) {

return code == 1 ? "成功" : "失败";

}

public String getMessage3(int code) {

Test test = null;

return test.getMessage2(1);

}

如果这段代码不判断异常,运行时就会出现java.lang.NullPointerException异常,所以我们平时都要提前判断一下public String getMessage8(int code) {

Test test = null;

if (test != null) {

return test.getMessage2(1);

}

return null;

}

Optional解决空指针问题

Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。

从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。

本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。

可以使用Optional来解决空指针异常问题public String getMessage8(int code) {

Test test = null;

Optional testOptional = Optional.of(test);

return testOptional.isPresent() ? testOptional.get().getMessage2(1) : null;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值