java枚举类型enum赋值,枚举类型enum
如何解决写爬虫IP受阻的问题?立即使用。
Java枚举是一个特殊的类,一般表示一组常数,比如一年四季,一年十二个月,一周七天,东南西北等等。
Java枚举类由enum关键字定义,每个常量用逗号分隔。
例如,定义颜色的枚举类。
枚举颜色
{
红色、绿色、蓝色;
}上面列举的类颜色常数是红、绿、蓝,分别代表红、绿、蓝。
使用示例:
枚举颜色
{
红色、绿色、蓝色;
}
公共课考试
{
//执行输出结果
公共静态void main(String[] args)
{
颜色c1=颜色。红色;
system . out . println(C1);
}
}执行上述代码的输出结果是:
内部类中使用枚举
类也可以在内部类中声明:
公共课考试
{
枚举颜色
{
红色、绿色、蓝色;
}
//执行输出结果
公共静态void main(String[] args)
{
颜色c1=颜色。红色;
system . out . println(C1);
}
}执行上述代码的输出结果是:
每个枚举都是通过类在内部实现的,所有枚举值都是public static final。
上面的枚举类颜色转换是在内部类中实现的:
类别颜色
{
公共静态最终颜色红色=新颜色();
公共静态最终颜色蓝色=新颜色();
公共静态最终颜色绿色=新颜色();
}迭代枚举元素
您可以使用for语句迭代枚举元素:
枚举颜色
{
红色、绿色、蓝色;
}
公共类MyClass {
公共静态void main(String[] args) {
for(Color myVar:Color . values()){
system . out . println(myVar);
}
}
}执行上述代码的输出结果是:
在 switch 中使用枚举类
switch语句中经常使用枚举:
枚举颜色
{
红色、绿色、蓝色;
}
公共类MyClass {
公共静态void main(String[] args) {
Color myVar=颜色。蓝色;
开关(myVar) {
红色外壳:
system . out . println( red );
打破;
绿色外壳:
system . out . println( green );
打破;
蓝色外壳:
system . out . println( blue );
打破;
}
}
}执行上述代码的输出结果是:
values(), ordinal() 和 valueOf() 方法
enum定义的枚举类默认继承了java.lang.Enum类,实现了两个接口:Java . lang . seriable和java.lang.Comparable。
values()、ordinal()和valueOf()方法位于java.lang.Enum类中:
Values()返回枚举类中的所有值。ordinal()方法可以找到每个枚举常数的索引,就像数组索引一样。value()方法返回指定字符串值的枚举常数。枚举颜色
{
红色、绿色、蓝色;
}
公共课考试
{
公共静态void main(String[] args)
{
//调用值()
color arr[]=color . values();
//迭代枚举
用于(颜色列:排列)
{
//检查索引
system . out . println(col at index col . ordinal());
}
//使用valueOf()返回枚举常量,不存在的会报错IllegalArgumentException。
system . out . println(color . value of( RED ));
//system . out . println(color . value of( WHITE ));
}
}执行上述代码的输出结果是:
枚举类成员
枚举可以像普通类一样使用自己的变量、方法和构造函数。构造函数只能使用私有访问修饰符,因此不能从外部调用。
枚举可以包含具体方法和抽象方法。如果枚举类有一个抽象方法,枚举类的每个实例都必须实现它。
枚举颜色
{
红色、绿色、蓝色;
//构造函数
私有颜色()
{
System.out.println(构造函数调用了: this . tostring());
}
公共void colorInfo()
{
System.out.println(通用颜色);
}
}
公共课考试
{
//输出
公共静态void main(String[] args)
{
颜色c1=颜色。红色;
system . out . println(C1);
C1 . colorinfo();
}
}执行上述代码的输出结果是:
推荐教程:以上《Java教程》是JAVA枚举(enum)的详细内容,更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。