Java枚举类型

所有的枚举类型都是Enum类的子类,枚举类型包括有限个命名的值。枚举类型的变量只能存储该类型中指定的枚举常量,或者null值。
枚举类型在定义时,可以添加指定的域,方法或者构造函数;当然构造函数为private,只是在声明枚举常量时调用,用于传递值。
枚举类型可以简单定义为:
enum Size{
//枚举常量列表必须写在前面,否则编译出错
Small,Mid,Larger,SuperLager;
}
也可以给枚举类型增加构造方法,然后每个枚举类型的值通过构造函数传入对应的参数
enum Size_1{
//定义枚举常量,并利用构造函数传递值,
Small(“1”),Mid(“2”),Larger(“3”),SuperLarger(“4”);
//定义私有变量
private String size;
//定义构造函数,类型为private,用于给枚举常量传递值
private Size_1(String size){
this.size=size;
}
//重写toString()方法,用于返回枚举常量的值
@Override
public String toString() {
// TODO Auto-generated method stub
return this.size;
}

}

完整代码及具体使用如下:

package Enum;
public class Enum_Test {
    enum Size{
         //枚举常量列表必须写在前面,否则编译出错
         Small,Mid,Larger,SuperLager;  
    }
    enum Size_1{
         //定义枚举常量,并利用构造函数传递值,
        Small("1"),Mid("2"),Larger("3"),SuperLarger("4");
         //定义私有变量
         private String size;
         //定义构造函数,类型为private,用于给枚举常量传递值
         private Size_1(String size){
             this.size=size;
         }
         //重写toString()方法,用于返回枚举常量的值
         @Override
         public String toString() {
             // TODO Auto-generated method stub
             return this.size;
         }

    }
    public static void main(String[] args) {
         // TODO Auto-generated method stub
         Size size=Size.Larger;
         String string=size.toString();//默认toString()方法用于返回枚举常量名
         System.out.println(string);
         //toString()的逆方法是valueOf(),即根据给定的常量名,返回对应的枚举变量
         Size size2=Enum.valueOf(Size.class, "Larger");
         System.out.println(size==size2);//比较两个枚举类型的值时,直接使用==,不需要使用equals();

         Size_1 size_1=Size_1.Larger;
         String string2=size_1.toString();//返回枚举常量的值
         System.out.println(string2);
         Size_1[] size_2=Size_1.values();//values()返回包含全部枚举常量的数组
         System.out.println(size_2[1]);

        System.out.println(size_1.ordinal());//ordinal()方法返回枚举常量的位置
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值