java enum枚举类

举报
yd_260845686 发表于 2022/10/09 20:42:08 2022/10/09
【摘要】 enum枚举类 enum 是一个 class ,每个枚举的值都是 class 实例public class Main { public static void main(String[] args) { Season winter = Season.winter; }}// 枚举的定义enum Season{ spring, summer,autumn,winter}​// 枚举...

enum枚举类

enum 是一个 class ,每个枚举的值都是 class 实例

public class Main {
  public static void main(String[] args) {
    Season winter = Season.winter;
  }
}
// 枚举的定义
enum Season{
  spring, summer,autumn,winter
}
​
// 枚举编译出来的class中, 枚举每个常量值都指向指向全局唯一的枚举类实例, 如
public static final Season winter = new Season();
​
// 枚举类实例也有方法
​
// name()
String s = Weekday.SUN.name(); // "SUN"
​
// ordinal() ,返回常量定义的顺序, 从0开始, 改变枚举常量定义的顺序就会导致 ordinal() 的返回值变化
int n = Weekday.MON.ordinal(); // 1
public enum Weekday {
    SUN, MON, TUE, WED, THU, FRI, SAT;
}
​
// 可以为枚举常量添加字段, 字段使用方法和普通的类一样
enum Season{
  spring(0), summer(1),autumn(2),winter(3);
  public int value;
  private Season(int value){
    this.value = value;
  }
}
// 使用枚举类的字段
    Season winter = Season.winter;
    System.out.println(winter.value);
​
​
// 枚举类的toString()可以被override
// 枚举类可以用在switch中
​
​
​
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。