1、Enum
- 不带参数
public enum Car {
AUDI {
@Override
public int getPrice() {
return 25000;
}
},
MERCEDES {
@Override
public int getPrice() {
return 30000;
}
},
BMW {
@Override
public int getPrice() {
return 20000;
}
};
public abstract int getPrice();
}
- 带参数
// Create an EnumMap that contains all constants of the Car enum.
EnumMap cars = new EnumMap(Car.class);
// Put some values in the EnumMap.
cars.put(Car.BMW, Car.BMW.getPrice());
cars.put(Car.AUDI, Car.AUDI.getPrice());
cars.put(Car.MERCEDES, Car.MERCEDES.getPrice());
// Print the values of an EnumMap.
for(Car c: cars.keySet())
System.out.println(c.name());
System.out.println(cars.size());
// Remove a Day object.
cars.remove(Car.BMW);
System.out.println("After removing Car.BMW, size: " + cars.size());
// Insert a Day object.
cars.put(Car.valueOf("BMW"), Car.BMW.getPrice());
System.out.println("Size is now: " + cars.size());
2、EnumMap
EnumMap cars = new EnumMap(Car.class);
// Put some values in the EnumMap.
cars.put(Car.BMW, Car.BMW.getPrice());
cars.put(Car.AUDI, Car.AUDI.getPrice());
cars.put(Car.MERCEDES, Car.MERCEDES.getPrice());
3、EnumSet
// Create an EnumSet that contains all days of the week.
EnumSet week = EnumSet.allOf(Day.class);
// Print the values of an EnumSet.
for(Day d: week)
System.out.println(d.name());
System.out.println(week.size());
// Remove a Day object.
week.remove(Day.FRIDAY);
System.out.println("After removing Day.FRIDAY, size: " + week.size());
// Insert a Day object.
week.add(Day.valueOf("FRIDAY"));
System.out.println("Size is now: " + week.size());