1.普通枚举
public class EnumTest01 { /** *普通枚举 */ public enum Fruit { APPLE, BANANA, PEAR, CHERRY; } public static void main(String[] args) { //遍历 for (Fruit f : Fruit.values()) { System.out.println(f); } Fruit f = Fruit.APPLE; //结合switch switch (f) { case APPLE: System.out.println("APPLE"); break; case BANANA: System.out.println("BANANA"); break; case PEAR: System.out.println("PEAR"); break; case CHERRY: System.out.println("CHERRY"); break; default: System.out.println("UNKNOW FRUIT"); break; } } }
2.带构造方法,普通方法,静态方法,成员变量,重写toString()方法
package com.jte.enum1; public class EnumTest01 { /** * 带构造方法,普通方法,静态方法,成员变量,重写toString()方法 */ public enum Fruit { APPLE("苹果", 1), BANANA("香蕉", 2), PEAR("梨", 3), CHERRY("樱桃", 4); // 成员变量 private String name; private int index; // 构造方法 Fruit(String name, int index) { this.name = name; this.index = index; } // 普通静态方法 public static String getFruitName(int index) { for (Fruit f : Fruit.values()) { if (f.getIndex() == index) { return f.getName(); } } return "未找到相关水果"; } // 普通方法 public String getInfo2(int... index) { StringBuilder sb = new StringBuilder(); for (int i : index) { sb.append(Fruit.getFruitName(i)).append("、"); } return sb.toString().substring(0, sb.length() - 1); } // setter and getter 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; } //重写toString()方法 public String toString() { return "Name: " + this.name + "Index:" + this.index; } } public static void main(String[] args) { Fruit f = Fruit.APPLE; System.out.println(f.getIndex()); System.out.println(f.getInfo2(1, 3, 2, 4, 5)); System.out.println(Fruit.getFruitName(1)); System.out.println(f);//输出重写toString()方法后的结果 } }
3.结合接口使用
package com.jte.enum1; public class EnumTest02 { public interface Behaviour{ String getName(); int getIndex(); String getInfo(); } public enum Fruit1 implements Behaviour{ APPLE("苹果", 1), BANANA("香蕉", 2), PEAR("梨", 3); public String name; public int index; Fruit1(String name, int index){ this.name = name; this.index = index; } @Override public String getName() { // TODO Auto-generated method stub return this.name; } @Override public int getIndex() { // TODO Auto-generated method stub return this.index; } @Override public String getInfo() { // TODO Auto-generated method stub return "Name: " + this.name + "Index:" + this.index; } } public static void main(String[] args) { Fruit1 f = Fruit1.APPLE; System.out.println(f.getInfo()); } }
4.结合接口使用2
package com.jte.enum1; public class EnumTest03 { interface Food{ public enum Vegetables { PUMPKIN, CHILI, POTATO; } public enum Fruit{ APPLE, BANANA, PEAR; } public enum Drink{ WATER, WINE, JUICE; } } public static void main(String[] args) { Food.Fruit f = Food.Fruit.APPLE; System.out.println(f); } }
5.遍历枚举
package com.jte.enum1; import java.util.EnumSet; public class EnumTest04 { public enum Animal{ DOG, CHICKEN, DARK, DRAGON; } public static void main(String[] args) { //1 System.out.println("==================1===================="); for (int i = 0; i < Animal.values().length; i++) { System.out.println(Animal.values()[i]);; } //2 System.out.println("==================2===================="); for (Animal animal : Animal.values()) { System.out.println(animal); } //3 System.out.println("==================3===================="); EnumSet<Animal> enumSet = EnumSet.allOf(Animal.class); for (Animal animal : enumSet) { System.out.println(animal); } } }
来源:https://www.cnblogs.com/ji84899/p/4949568.html