을 통해 EnumMap
을 사용하는 장단점을 비교하려고합니다. 이후로 항상 String
을 사용하여 찾고있을 것이므로 String
키를 가진 HashMap
이 올바른 선택 인 것으로 보입니다. 그러나 EnumMap
은 키를 특정 열거로 제한하려는 나의 의도를 전달하기 때문에 더 나은 디자인처럼 보입니다. 생각? 조회 키가 문자열 인 경우 EnumMap 또는 HashMap
enum AnimalType { CAT, DOG }
interface Animal {}
class Cat implements Animal {}
class Dog implements Animal {}
public class AnimalFactory {
private static final Map<AnimalType, Animal> enumMap
= new EnumMap<AnimalType, Animal>(AnimalType.class);
// versus
private static final Map<String, Animal> stringMap
= new HashMap<String, Animal>();
static {
enumMap.put(AnimalType.CAT, new Cat());
enumMap.put(AnimalType.DOG, new Dog());
stringMap.put("CAT", new Cat());
stringMap.put("DOG", new Dog());
}
public static Animal create(String type) {
Animal result = enumMap.get(AnimalType.valueOf(type));
Animal result2 = stringMap.get(type);
return result;
}
}
는
AnimalType
열거 및지도 만 다른 곳에서는 동물을 만들 수
AnimalFactory
에 의해 사용된다는 것을 가정 : 여기
내가
Map
를 사용하는 방법을 보여주는 메이크업 믿고 예입니다.
어떤 Map
을 사용해야합니까?
@dogbane 어떤 진행 상황입니까? – Javanator