Java 枚举类Enum
无参构造方式创建
- 创建
package enums.demo1;
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;//后面没有内容时分号可以省略,一般不省略。
}
- 使用
package enums.demo1;
public class Demo1 {
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);
}
}
- 运行结果
有参方式构造
无抽象方法
- 创建
package enums.demo3;
public enum Season {
SPRING("春"),SUMMER("夏"),AUTUMN("秋"),WINTER("冬");
public String name;
Season(String name){
this.name = name;
}
public String toString(){
return this.name;
}
}
- 使用
package enums.demo3;
public class Demo3 {
public static void main(String[] args) {
Season season = Season.SPRING;
System.out.println("Season.SPRING.name()= "+season.name());
System.out.println("直接打印season="+season);
System.out.println("通过名字拿到枚举对象"+ Season.valueOf("SPRING"));
System.out.println( (Season.valueOf("SPRING") == Season.SPRING));
}
}
- 运行结果
有抽象方法
- 创建
package enums.demo2;
public enum Season {
SPRING("春"){
@Override
public String show() {
return this.name;
}
},SUMMER("夏"){
@Override
public String show() {
return this.name;
}
},AUTUMN("秋"){
@Override
public String show() {
return this.name;
}
},WINTER("冬"){
@Override
public String show() {
return this.name;
}
};
public String name;
Season(String name){
this.name = name;
}
//自己定义了一个抽象方法,每个枚举类可以有自己的独特实现,当然你也可以定义普通方法
public abstract String show();
}
- 使用
package enums.demo2;
public class Demo2 {
public static void main(String[] args) {
System.out.println("打印Season.SPRING");
Season season = Season.SPRING;
//打印枚举对象
System.out.println(season);
System.out.println("调用枚举对象Season.SPRING的show方法");
//调用枚举对象的方法
System.out.println(season.show());
//打印每个枚举的序号
System.out.println("Season.SPRING 序号:"+Season.SPRING.ordinal());
System.out.println("Season.SUMMER 序号:"+Season.SUMMER.ordinal());
System.out.println("Season.AUTUMN 序号:"+season.AUTUMN.ordinal());
System.out.println("Season.WINTER 序号:"+season.WINTER.ordinal());
//打印枚举的compareTo
System.out.println("SPRING compareTo WINTER = "+(Season.SPRING.compareTo(Season.WINTER)));
//通过名字字符串拿到枚举对象
Season season1 = Enum.valueOf(Season.class,"WINTER");
System.out.println("拿到的枚举对象:"+season1);
System.out.println((Season.WINTER == season1));
//遍历所有的枚举项
System.out.println("遍历所有枚举项");
for (Season season2 : Season.values()){
System.out.println(season2);
}
}
}
- 运行结果
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039592
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2020-06-27 Java进行N阶函数拟合