当前位置:网站首页>if/else或switch替换为Enum
if/else或switch替换为Enum
2022-08-03 18:54:00 【帅宇Yeah~】
if/else或switch替换为Enum
if else 使用
/**
* 调用
* @param args
*/
public static void main(String[] args) {
int type = 8;
eatFood(type);
}
/**
* 使用if判断
* @param type
*/
public static void eatFood(int type){
if(1 == type){
System.out.println("火锅");
} else if (2 == type) {
System.out.println("烤肉");
} else if (3 == type) {
System.out.println("烤鱼");
}else{
System.out.println("饿着");
}
}
switch 使用
/**
* 调用
* @param args
*/
public static void main(String[] args) {
int type = 8;
eatFood(type);
}
/**
* 使用switch判断
* @param type
*/
public static void eatFood(int type){
switch (type){
case 1:
System.out.println("火锅");
break;
case 2:
System.out.println("烤肉");
break;
case 3:
System.out.println("烤鱼");
break;
default:
System.out.println("饿着");
break;
}
}
================================================
Enum
import java.util.HashMap;
import java.util.Map;
public class TestClass {
private final static Map<Integer, String> map;
static {
map = new HashMap<>();
map.put(1, "TYPE_1");
map.put(2, "TYPE_2");
map.put(3, "TYPE_3");
}
/**
* 调用
* @param args
*/
public static void main(String[] args) {
//map种不存在的key默认为TYPE_4
String type = map.getOrDefault(8,"TYPE_4");
EatEnum.valueOf(type).eatFood();
}
}
/**
* 接口
*/
public interface EatFood {
void eatFood();
}
/**
* 枚举类实现EatFood接口
*/
public enum EatEnum implements EatFood{
TYPE_1(){
@Override
public void eatFood() {
System.out.println("火锅");
}
},
TYPE_2(){
@Override
public void eatFood() {
System.out.println("烤肉");
}
},
TYPE_3(){
@Override
public void eatFood() {
System.out.println("烤鱼");
}
},
TYPE_4(){
@Override
public void eatFood() {
System.out.println("饿着");
}
};
}
边栏推荐
猜你喜欢
架构基本概念和架构本质
常见亲脂性细胞膜染料DiO, Dil, DiR, Did光谱图和实验操作流程
【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
OneNote 教程,如何在 OneNote 中设置页面格式?
Selenium of reptiles
BinaryIndexedTrees树状数组
U-Net生物医学图像分割讲解(Convolutional Networks for BiomedicalImage Segmentation)
智能合约安全——delegatecall (2)
Zhong Hua, senior architect of Ali: China-Taiwan strategic thinking and architecture practice; including internal implementation manual
广告电商、泰山众筹、链动2+1,这3个模式到底怎么样?
随机推荐
Cobalt Strike (CS) 逆向初探
Don't look down upon the WebSocket!Long connection, stateful, two-way, full-duplex king is Fried
学弟:我适不适合转行做软件测试?
【ORACLE】什么时候ROWNUM等于0和ROWNUM小于0,两个条件不等价?
dd命令:用于读取、转换并输出数据
[数据集][VOC]老鼠数据集voc格式3001张
丙二醇二乙酸酯(Propylene Glycol Diacetate)
货比四家 version tb1.63
Web项目Controller统一返回实体类
Oracle 脚本实现简单的审计功能
广告电商、泰山众筹、链动2+1,这3个模式到底怎么样?
VsCode preview Geojson data
懵逼!阿里一面被虐了,幸获内推华为技术四面,成功拿到offer,年薪40w
When does MySQL use table locks and when to use row locks?You should know this
87. (Home of cesium) cesium heat map (topography)
idea——同一项目开启多个实例(不同端口)
POJ 2377 Bad Cowtractors(最大生成树)
二叉树求和路径问题解答与注记
SQL代码需要供其他人复用,为什么传统的复制代码不可靠?
MD5是对称加密还是非对称加密,有什么优缺点