Type.valueOf("enum string")
Gerçekte var olduğunun farkına varmadan kendi çözümümü aşırı mühendislikten geçirmiş olabilirim.
Sanırım daha ayrıntılı kontrol sağlıyor ama gerçekten gerekli olduğundan emin değilim.
public enum Type {
DEBIT,
CREDIT;
public static Map<String, Type> typeMapping = Maps.newHashMap();
static {
typeMapping.put(DEBIT.name(), DEBIT);
typeMapping.put(CREDIT.name(), CREDIT);
}
public static Type getType(String typeName) {
if (typeMapping.get(typeName) == null) {
throw new RuntimeException(String.format("There is no Type mapping with name (%s)"));
}
return typeMapping.get(typeName);
}
}
Ne alışverişi konum tahmin IllegalArgumentException
için RuntimeException
(ya da her türlü istisnası atmak isteyen) hangi olabilir, potansiyel olarak temiz yukarı kodu.