2011-08-15 22 views
29

Java örneğin, ek açıklamalar değerlerin tanımını verir: o MyValue ek açıklama için varsayılan bir değer ayarlamak mümkün olsa da, buna zorunlu hale getirmek mümkün olup olmadığını merakJava ek açıklamasının değeri zorunlu hale getirilebilir mi?

public @interface MyAnnotation { 
    int MyValue(); 
} 

. Demek istediğim, bir dersi veya alanı eklerken kullanıcıyı MyValue için bir değer sağlamaya zorluyor.

Dokümantasyondan geçtim ama hiçbir şey bulamadım. Herhangi birinin bu konuya bir çözümü var mı yoksa bir notun değerini zorunlu kılmak sadece imkansız mı?

cevap

53

Varsayılan değer belirtmezseniz, zorunludur.

public @interface MyAnnotation { 
    int MyValue(); 
} 

annotation MyAnnotation is missing MyValue

+1

Bunu nasıl özledim, teşekkürler! – JVerstry

4

Verilen

@MyAnnotation 
public class MyClass { 

} 

bir değere dışarı sahip bir derleme hatası olacak sınıfı: MyValue özelliğini kullanmadan ek açıklamanızı kullanarak Örneğin bu derleyici hatası oluşturur.

1

Bunu denemedim, ancak değerleri belirli bir değere zorlamak istiyorsanız, belki de türü bir numara haline getirin. Durum bir numaradır.

İlgili konular