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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Fuse

    Fuse

    21 Kasım 2005
  • jcortes187

    jcortes187

    24 Mart 2006