generics hakkında bir sorum var. Hiç derleme olmayan bu yönteme sahibim. Derleyici bana şöyle diyor: type parameter E is not within its bound
. Derleyici hatalarını anlamada genellikle bir problemim var, ama bu oldukça zor. Belki de jeneriklerle ilgili bilgimin gelişmesi gerekiyor. :-) Herkes bana neyin yanlış olduğunu söyleyebilir mi? Java Generics Soru: Parametre E'nin kendi paragrafında olmadığı
public static <E extends Enum & StringConvertableEnum<E>> Map<String, E> map(Class<E> enumClass) {
Map<String, E> mapping = new HashMap<String, E>();
EnumSet<E> set = EnumSet.allOf(enumClass);
for(E enumConstant : set) {
mapping.put(enumConstant.getStringValue(), enumConstant);
}
return mapping;
}
Bu
StringConvertableEnum
tanımı şudur:
E extends Enum<E>
Düzenleme için deklarasyon değiştirmeniz gerekir
public interface StringConvertableEnum<E extends Enum> {
public E getEnumFromStringValue(String string);
public String getStringValue();
}
hat numarası şikayet ediyor mu? – bmargulies
@bmargulies: EnumSet set = EnumSet.allOf (enumClass); çizgi. –
Kraushauslaus
Derinliğim bitti. Kodun benim için makul görünüyor. – bmargulies