Muszę ponownie wdrożyć enum.valueof metody kilku moich wyliczeń, tak aby nie rzucać wyjątków, zamiast tego po prostu zwracają wartość null, jeśli wartość nie istnieje w wyliczeniu.W jaki sposób ponownie uzupełnić valueof na wyliczenie
Próbuję podstawową
@Override
public static <T extends Enum<T>> T valueOf(Class<T> enumType,
String name){
ale to nie działa, mówiąc muszę zastąpić lub realizować super typ.
Potrafię wymyślić super klasę, ale nie jestem pewna, jak to połączyć. Jakieś pomysły?
Tak, myślę, że będę musiał to zrobić w ten sposób. po prostu liczyłem, że nie będę musiał tak dużo zmieniać. dzięki – scphantm
Tak, nie wiem, dlaczego Java nie pozwala na to. Nadpisywanie "valueOf" byłoby dużo bardziej sensowne niż implementowanie własnego i posiadanie klientów twojego wyliczenia musi nauczyć się twojej konwencji. –
Nie jestem pewien, ale myślę, że twoja implementacja metody faktycznie wymaga enum, aby mieć dodatkową metodę 'getName()'. Myślę, że powinieneś naprawdę używać wbudowanego 'name()', aby uzyskać aktualną nazwę enum. – schneida