Преобразование хорошо работает для любого конкретного типа перечисления, который мы используем, когда конвертер < /code> определяется для конкретного типа перечисления. Однако, когда я пишу это как общая пружина, никогда не вызывает кода. < /P>
Код: Выделить всё
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
// Doesn't work, Spring doesn't appear to allow Converters with type parameters :-(
@Component
public class StringToEnumConverter implements Converter {
@Override
public T convert(String string) {
Type type = ((ParameterizedType)StringToEnumConverter.class.getGenericSuperclass()).getActualTypeArguments()[0];
return (T) Enum.valueOf((Class)type, string.trim().toUpperCase());
}
}
< /code>
Код неверен или это то, что пружина не знает, как соответствовать типу во время выполнения? Я надеялся, что T Extends enum Подробнее здесь: https://stackoverflow.com/questions/195 ... on-service