SORU
3 EYLÜL 2009, PERŞEMBE


Sınıf ham bir türüdür. Genel tür Sınıf için başvurular<T> parametreli olmalıdır

Aşağıdaki sınıf (Bahar basit bir öğretici var

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!");
            }
        }

    }
}

Doğrulayıcı sınıfı nerede Bahar 2.5 org.springframework.validation.Validator sınıfıdır.

Destekler yöntemi bir uyarı (Sınıf ham bir türüdür. gösteriyor Eğer bu gibi parametreleri eklemek için çalışırsanız genel tür Sınıf parametreli olmalıdır) için başvuruyor

public boolean supports(Class<?> aClass) ...

Aşağıdaki hatayı alıyorum:

The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it

Bu türden sorular hakkında konuları var, ama 'gizleme' @SupressWarnings! sorun olmadan tam bir cevap almak ve bunu gerçekten anlamak istiyorum

CEVAP
3 EYLÜL 2009, PERŞEMBE


Arayüzü ham bir tip yöntemi bildirir. Bu durumda, bu güzel uyarı olmadan geçersiz kılabilirsiniz.

Senin sorunun kökeni Bahar arayüzü Java 1.4 uyumlu olarak ilan edildi. Bahar 3.0 bu sorunu düzeltmek istiyorum yani Java 1.5 uyumlu olarak tüm dersleri vermem lazım, unutmayın. Yükseltmeden önce, ya bir uyarı ya da @SuppressWarning ile yaşamak zorunda kalacaksın sanırım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • MVLV28

    MVLV28

    17 Mart 2008
  • thenewboston

    thenewboston

    4 ŞUBAT 2008