ITPub博客

首页 > 应用开发 > Java > Java enum常见的用法

Java enum常见的用法

Java 作者:jiunile 时间:2020-12-02 21:35:36 0 删除 编辑

一,常量定义

public enum WeekDay {SUN, MON, TUE, WED, THT, FRI, SAT}

二,swich

public enum WeekDay {SUN, MON, TUE, WED, THT, FRI, SAT}public class SelectDay{WeekDay weekday = WeekDay.SUN;public void select(){switch(weekday){case SUN:weekday = WeekDay.SUN;break;...}}}

三,向枚举添加新方法

public enum Color {RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);// 成员变量  private String name;private int index;// 构造方法  private Color(String name, int index) {this.name = name;this.index = index;}// 普通方法  public static String getName(int index) {for (Color c : Color.values()) {if (c.getIndex() == index) {return c.name;}}return null;}// get set 方法  public String getName() {return name;}public void setName(String name) {this.name = name;}public int getIndex() {return index;}public void setIndex(int index) {this.index = index;}}

四,覆盖枚举方法

public enum Color {RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);// 成员变量private String name; private int index;// 构造方法 private Color(String name, int index) {this.name = name; this.index = index;}//覆盖方法 @Override public String toString() {return this.index+"_"+this.name;}}

五,实现接口

public interface Behaviour {void print();String getInfo();}public enum Color implements Behaviour{RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);// 成员变量 private String name;private int index;// 构造方法 private Color(String name, int index) {this.name = name; this.index = index;}//接口方法 @Override public String getInfo() {return this.name;}//接口方法 @Override public void print() {System.out.println(this.index+":"+this.name);}}

六,接口组织枚举

public interface Food {enum Coffee implements Food{BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO}enum Dessert implements Food{FRUIT, CAKE, GELATO}}

七,枚举集合

public class Test {public static void main(String[] args) {EnumSet<WeekDay> week = EnumSet.noneOf(WeekDay.class);week.add(WeekDay.MON);System.out.println("EnumSet中的元素:" + week);week.remove(WeekDay.MON);System.out.println("EnumSet中的元素:" + week);week.addAll(EnumSet.complementOf(week));System.out.println("EnumSet中的元素:" + week);week.removeAll(EnumSet.range(WeekDay.FRI, WeekDay.SAT));System.out.println("EnumSet中的元素:" + week);}



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979345/viewspace-2738951/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-17

  • 博文量
    16
  • 访问量
    13549