ho la classe seguente (da un semplice tutorial primavera)La classe è un tipo non elaborato. I riferimenti al tipo generico Classe <T> dovrebbero essere parametrizzato
public class CarValidator implements Validator {
public boolean supports(Class aClass) {
return Car.class.equals(aClass);
}
public void validate(Object obj, Errors errors) {
Car car = (Car) obj;
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "model", "field.required", "Required field");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "price", "field.required", "Required field");
if(! errors.hasFieldErrors("price")) {
if (car.getPrice().intValue() == 0) {
errors.rejectValue("price", "not_zero", "Can't be free!");
}
}
}
}
in cui la classe Validator è la classe org.springframework.validation.Validator
da Spring 2.5.
Il metodo supporta sta mostrando un avviso (Class è un tipo grezzo. I riferimenti al tipo di classe generica devono essere parametrizzate), se cerco di aggiungere parametri a questo come ad esempio
public boolean supports(Class<?> aClass) ...
ottengo il seguente errore :
The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
ci sono un sacco di discussioni su questo tipo di domanda, ma voglio ottenere una risposta completa e realmente capire senza 'nascondere' il problema con un @SupressWarnings
!
+1 per domande e un buon atteggiamento nei confronti dei rispondenti – KLE
Sapete, se accettate una delle risposte, otterrete altri punti ... – KLE
Fatto. Molte grazie ancora. –