大家好,我是walker
一个从文科自学转行的程序员~
爱好编程,偶尔写写编程文章和生活
欢迎关注公众号【I am Walker】,一块学习编程~
我的gitee:https://gitee.com/shen-chuhao/walker.git 里面很多技术案例!
在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、、int、char
从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,
从 Java 7 开始,expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
switch使用Long
则直接报错
switch使用枚举
1、编写枚举
package grammer;
/**
* 编写测试枚举
*/
public enum TestEnum{
//定义两个枚举实例
ONE("walker"),
TWO("jacky");
//1、定义属性
String name;
//2、定义构造方法和getter setter
TestEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 这里需要定义一个根据枚举中的属性name,获取对应的枚举
*/
public static TestEnum getTestEnum(String name){
for (TestEnum value : values()) {
if(value.getName().equals(name)){
return value;
}
}
return null;
}
}
2、编写测试类
package grammer;
import static grammer.TestEnum.ONE;
import static grammer.TestEnum.TWO;
public class SwitchTest {
public static void main(String[] args) {
SwitchTest switchTest = new SwitchTest();
switchTest.testEnum("walker");
}
/**
* 定义测试方法
*/
public void testEnum(String name){
//根据name获取枚举
switch(TestEnum.getTestEnum(name)){
//如果枚举是ONE,则输出ONE的名称,以此类推
case ONE:
System.out.println(ONE.getName());
break;
case TWO:
System.out.println(TWO.getName());
break;
}
}
}