java枚举类型测试_Java枚举类的使用

1、自定义枚举类

// 测试类

public class enumDemo {

public static void main(String[] args) {

System.out.println(Season.SPRING);

System.out.println(Season.SUMMER);

System.out.println(Season.AUTUMN);

System.out.println(Season.WINTER);

}

}

// 自定义枚举类

class Season {

// 1、定义枚举类属性

private String seasonName;

private String seasonFeature;

// 2、有参构造方法私有化

private Season(String seasonName, String seasonFeature) {

this.seasonName = seasonName;

this.seasonFeature = seasonFeature;

}

// 3、定义常量对象

public static final Season SPRING = new Season("SPRING", "春江水暖鸭先知");

public static final Season SUMMER = new Season("SUMMER", "小荷才露尖尖角");

public static final Season AUTUMN = new Season("AUTUMN", "秋水共长天一色");

public static final Season WINTER = new Season("WINTER","窗含西岭千秋雪");

// 4、生成set/get方法

public String getSeasonName() {

return seasonName;

}

public void setSeasonName(String seasonName) {

this.seasonName = seasonName;

}

public String getSeasonFeature() {

return seasonFeature;

}

public void setSeasonFeature(String seasonFeature) {

this.seasonFeature = seasonFeature;

}

// 5、重写toString()方法

@Override

public String toString() {

return "Season{" +

"seasonName='" + seasonName + '\'' +

", seasonFeature='" + seasonFeature + '\'' +

'}';

}

}

测试结果:

Season{seasonName='SPRING', seasonFeature='春江水暖鸭先知'}

Season{seasonName='SUMMER', seasonFeature='小荷才露尖尖角'}

Season{seasonName='AUTUMN', seasonFeature='秋水共长天一色'}

Season{seasonName='WINTER', seasonFeature='窗含西岭千秋雪'}

2、使用JDK1.5之后新特性enum关键字

public class EnumDemo {

public static void main(String[] args) {

// 获取枚举类中对象的属性

System.out.println(Season.SPRING.getSeasonName() + "=====>" + Season.SPRING.getSeasonFeature());

System.out.println(Season.SUMMER.getSeasonName() + "=====>" + Season.SUMMER.getSeasonFeature());

System.out.println(Season.AUTUMN.getSeasonName() + "=====>" + Season.AUTUMN.getSeasonFeature());

System.out.println(Season.WINTER.getSeasonName() + "=====>" + Season.WINTER.getSeasonFeature());

System.out.println("*********************************");

// 获取枚举类中的所有对象,遍历Season中的所有对象

Season[] values = Season.values();

for (Season value : values) {

System.out.println(value);

}

System.out.println("*********************************");

// 将普通字符串转换为枚举实例

Season spring = Season.valueOf("SPRING");

System.out.println(spring.getSeasonName() + "=====>" + spring.getSeasonFeature());

System.out.println("*********************************");

// 查看Season的父类

System.out.println(Season.class.getSuperclass());

}

}

// 使用JDK1.5enum关键字来定义枚举类

enum Season{

// 1、定义枚举类中的对象,每个对象中间以逗号隔开,最后以分号结尾.

SPRING("SEASON_SPRING","春江水暖鸭先知"),

SUMMER("SEASON_SUMMER","小荷才露尖尖角"),

AUTUMN("SEASON_AUTUMN","秋水共长天一色"),

WINTER("SEASON_WINTER","窗含西岭千秋雪");

// 2、定义枚举类中对象的属性

private String seasonName;

private String seasonFeature;

// 3、构造方法私有化

private Season(String seasonName,String seasonFeature){

this.seasonName = seasonName;

this.seasonFeature = seasonFeature;

}

// 4、生成set/get方法

public String getSeasonName() {

return seasonName;

}

public String getSeasonFeature() {

return seasonFeature;

}

// 5、 如果不重写toString()方法,则默认使用父类的toString方法(它的父类是java.lang.Enum,可以通过

//Season.class.getSuperClass()方法查看),Enum类默认输出的是Season中的对象,SPRING/SUMMER/AUTUMN/WINTER

@Override

public String toString() {

return "Season{" +

"seasonName='" + seasonName + '\'' +

", seasonFeature='" + seasonFeature + '\'' +

'}';

}

}

测试结果:

SEASON_SPRING=====>春江水暖鸭先知

SEASON_SUMMER=====>小荷才露尖尖角

SEASON_AUTUMN=====>秋水共长天一色

SEASON_WINTER=====>窗含西岭千秋雪

*********************************

Season{seasonName='SEASON_SPRING', seasonFeature='春江水暖鸭先知'}

Season{seasonName='SEASON_SUMMER', seasonFeature='小荷才露尖尖角'}

Season{seasonName='SEASON_AUTUMN', seasonFeature='秋水共长天一色'}

Season{seasonName='SEASON_WINTER', seasonFeature='窗含西岭千秋雪'}

*********************************

SEASON_SPRING=====>春江水暖鸭先知

*********************************

class java.lang.Enum

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值