看例程:使用枚举定义商品门类
看例程:枚举的使用
public class UseEnum {
public static void main(String[] args) {
// >> TODO 获取所有枚举,看看枚举实例有哪些方法
for (Category category : Category.values()) {
System.out.println("-----------" + category.getId() + "------------");
System.out.println(category.ordinal());
System.out.println(category.name());
System.out.println(category.toString());
}
System.out.println();
// >> TODO 根据名字获取枚举
System.out.println(Category.valueOf("FOOD"));
// System.out.println(Category.valueOf("food"));
Scanner in = new Scanner(System.in);
System.out.println("请输入枚举的名字:");
String categoryName = in.next();
Category enumInput = Category.valueOf(categoryName.trim().toUpperCase());
System.out.println("枚举的信息:" + enumInput.toString());
System.out.println("请输入要比较的枚举的名字:");
String categoryName2 = in.next();
Category enumInput2 = Category.valueOf(categoryName2.trim().toUpperCase());
System.out.println("第二次输入的枚举的信息:" + enumInput2.toString());
System.out.println(enumInput == enumInput2);
}
}
// >> TODO 使用enum而非class声明
public enum Category {
// >> TODO 必须在开始的时候以这种形式,创建所有的枚举对象
FOOD(1),
// >> TODO 不可以重名
// FOOD(1),
COOK(3),
SNACK(5),
CLOTHES(7),
ELECTRIC(9);
// 可以有属性
private int id;
// >> TODO 构造方法必须是private的,不写也是private的
Category(int id) {
this.id = id;
}
public int getId() {
return id;
}
// public void setId(int id) {
// this.id = id;
// }
@Override
public String toString() {
return "Category{" +
"id=" + id +
'}';
}
}
构造方法必须是private的,不写也是private的