I mają następujące klasy (od prostego wiosennego poradniku)Klasa to typ surowy. Odniesienia do typu klasy generycznej <T> powinny być parametryzowana
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!");
}
}
}
}
gdzie klasa Weryfikacji jest klasa org.springframework.validation.Validator
od wiosny 2.5.
Sposób podpory wyświetla ostrzeżenie (Klasa jest typem surowe. Odniesienia do typu rodzajowego klasy powinny być parametryzowane), gdy próbuję dodać parametry do tego takie jak
public boolean supports(Class<?> aClass) ...
otrzymuję następujący błąd :
The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
Istnieje wiele wątków na temat tego typu pytanie, ale chcę, aby uzyskać pełną odpowiedź i rzeczywiście zrozumieć go bez „ukrywanie” problem z @SupressWarnings
!
+1 za pytanie i miłe podejście do osób udzielających odpowiedzi – KLE
Jeśli zaakceptujesz jedną z odpowiedzi, uzyskasz więcej punktów ... – KLE
Gotowe. Wielkie dzięki jeszcze raz. –