在 Java 中,简化 if 条件常见有几种做法,取决于场景和可读性需求。下面按常见情况给你总结,并附示例。
? :(最常用)int result;
if (a > b) {
result = a;
} else {
result = b;
}
int result = a > b ? a : b;
✅ 适合:简单赋值、二选一
if (user != null) {
if (user.isActive()) {
doSomething();
}
}
if (user == null || !user.isActive()) {
return;
}
doSomething();
✅ 适合:减少 if 嵌套,提高可读性
if (a == 1) {
if (b == 2) {
doSomething();
}
}
if (a == 1 && b == 2) {
doSomething();
}
✅ 适合:多个条件同时成立
switch(Java 14+ 推荐)if (status == 1) {
doA();
} else if (status == 2) {
doB();
} else {
doC();
}
switch (status) {
case 1 -> doA();
case 2 -> doB();
default -> doC();
}
✅ 适合:多分支判断
Optional(避免空判断)if (obj != null) {
System.out.println(obj.getName());
}
Optional.ofNullable(obj)
.map(MyObject::getName)
.ifPresent(System.out::println);
✅ 适合:空值判断、链式处理
if ("A".equals(type)) {
return 1;
} else if ("B".equals(type)) {
return 2;
}
Map<String, Integer> map = Map.of("A", 1, "B", 2);
return map.get(type);
✅ 适合:大量固定映射关系
Boolean 表达式直接返回if (isOk) {
return true;
} else {
return false;
}
return isOk;
| 场景 | 推荐方式 |
|---|---|
| 二选一赋值 | 三元运算符 |
| 减少嵌套 | 提前 return |
| 多条件 | 合并条件 / switch |
| 空判断 | Optional |
| 多分支映射 | Map |
| Boolean 判断 | 直接返回 |
如果你有具体代码,可以直接贴出来,我可以帮你针对性简化。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。