La clase es un tipo crudo. Las referencias a la clase de tipo genérico <T> deben estar parametrizadas
Tengo la siguiente clase (de un simple tutorial de Spring)
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!");
}
}
}
}
Donde la clase Validador es laorg.springframework.validation.Validator
clase de la primavera 2.5.
El método de asistencia muestra una advertencia (la clase es un tipo sin formato. Las referencias a la clase de tipo genérico deben estar parametrizadas), si intento agregar parámetros a este, como
public boolean supports(Class<?> aClass) ...
Obtuve el siguiente error:
The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
Hay muchos hilos sobre este tipo de pregunta, pero quiero obtener una respuesta completa y realmente entenderla sin 'esconder' el problema con una@SupressWarnings
!