Classe é um tipo bruto. Referências ao tipo genérico Class <T> devem ser parametrizadas
Eu tenho a seguinte classe (de um simples tutorial de Primavera)
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!");
}
}
}
}
Onde a classe Validator é aorg.springframework.validation.Validator
classe da Primavera 2.5.
O método de suporte está mostrando um aviso (Classe é um tipo bruto. Referências ao tipo genérico Classe deve ser parametrizado), se eu tentar adicionar parâmetros a isso, como
public boolean supports(Class<?> aClass) ...
Estou tendo o erro a seguir:
The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
Há muitos tópicos sobre esse tipo de pergunta, mas quero obter uma resposta completa e realmente entendê-la sem "ocultar" o problema com um@SupressWarnings
!