다음 클래스가 있습니다 (간단한 스프링 튜토리얼에서).클래스는 원시 형식입니다. 제네릭 형식 클래스 <T>에 대한 참조는 매개 변수화되어야합니다.
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!");
}
}
}
}
Validator 클래스는 Spring 2.5의 org.springframework.validation.Validator
클래스입니다.
와 같은 매개 변수를 추가하려고하면 supports 메소드가 경고를 표시합니다 (Class는 원시 유형입니다. :
The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
이 유형의 질문에 관해 많은 스레드가 있지만 완전한 대답을 얻고 실제로 @SupressWarnings
로 문제를 숨기지 않고 이해하고 싶습니다!
+1 질문에 대한 답변과 답변자에 대한 좋은 태도 – KLE
당신이 대답 중 하나를 수락하면 더 많은 점수를 얻을 것입니다 ... – KLE
완료. 다시 많은 감사드립니다. –