java - java中switch语句的最佳替代选择
问题描述
当我们有 5 个 switch case 时,switch 语句非常好,但在我们的例子中,我们有 15 个 switch case。
我想知道java中switch语句的最佳替代选择是什么
private OpwaardernId getOpwaardernId(String opId) {
OpwaardernId opwaardernId;
switch (opId) {
case "ID001":
opwaardernId = opwaardernId.of("xxx");
break;
case "ID002":
opwaardernId = opwaardernId.of("123");
break;
case "ID002":
opwaardernId = opwaardernId.of("abc");
break;
case "ID003":
opwaardernId = opwaardernId.of("asd");
break;
case "ID004":
opwaardernId = opwaardernId.of("rrr");
break;
case "ID005":
opwaardernId = opwaardernId.of("ttt");
break;
...
case "ID015":
opwaardernId = opwaardernId.of("aaa");
break;
default:
opwaardernId = null;
}
return opwaardernId;
}
解决方案
例如,您可以使用地图:
private OpwaardernId getOpwaardernId(String opId) {
// store all value in a map
Map<String, String> map = Map.of("ID001", "xxx", "ID002", "123", ..);
// then just call
return map.containsKey(opId) ? opwaardernId.of(map.get(opId)) : null;
}
推荐阅读
- python - 删除数据框索引上的粗体格式
- java - 如何正确解开 Java 中的可选项?
- excel - 预期:Sheets("PrepaymentCustomer").Range("B2:B4") 的语句结束 (VBA)
- youtube-api - 如何授予管理其他成员进入 YouTube API 项目的权限
- javascript - 在文件流和 cvparser 解析数据的问题
- java - 创建具有正确权限的 CSV 文件
- css - 当模态在本机反应中打开时,我想模糊背景
- php - Elementor 添加新的自定义响应断点
- python - OpenCV:使用 Canny 和 Shi-Tomasi 检测扑克牌的圆角
- spring-boot - 延迟的 RabbitMQ 消息