今天工作中,看到大量使用了枚举来规定常量。就抽空来学习了一下。
没有枚举
在没有枚举的时候,java编写是这样的。
public String jud(int i){
if(i==1){
return 1;
}else if(i==2){
return 2;
}
}
可以通过调用jud()方法的形式,对 i 的值进行一个判断。但是这个样子写是非常不安全的。因为任何参数都可以进入到这个判断中。无形中,代码变得不怎么安全了。这个时候枚举就出来了。
枚举
首先创建一个枚举的类
public enum season{
a,b;
}
这个就是创建了一个枚举类,当然 如果后面没有其他语句,封号可以不用。接着就是使用它啦。
public String jud(season s){
if(i==a){
return 1;
}else if(i==b){
return 2;
}
}
把参数改成枚举的类,那么写进的参数,就不能是除了a和b以外的参数了。枚举在定义的时候,就已经决定了它的参数是什么。
但是有个例外,这里的参数可以是null。null可以进入方法,语句也不会报错,但是运行的时候会报空,这里就需要编写的时候注意了。
枚举的实例
枚举不能同对象一样,直接new出来是不行的。
season s =new season();//错误
正确的写法是通过枚举里的参数
season s=season.a
这样给枚举赋值。来改变它值。
枚举的方法
values():可以通过values()方法,来获得这个枚举的参数数组。
season[ ] s=season.values();
name():可以通过name()方法,来获得这个当前这个枚举的名字。可以通过for循环来尝试
season.name;
ordinal():可以通过values()方法,来获得当前这个枚举的值,是角标是多少 0位 1位 还是2位。
season.ordinal();
valueOf():可以通过valueOf(参数)方法,可以通过这个方法,查找参数在枚举中的角标是多少。
season i = season.valueOf(a);