Kendi açıklamaları için isteğe bağlı parametreler nasıl oluşturulur?


91

Ek açıklama kodu aşağıdadır

public @interface ColumnName {
   String value();
   String datatype();
 }

yapmak isterim datatypeÖrneğin, isteğe bağlı bir parametre

@ColumnName(value="password") 

geçerli bir kod olmalıdır.

Yanıtlar:


127

Görünüşe göre resmi belgelerdeki ilk örnek her şeyi söylüyor ...

/**
 * Describes the Request-For-Enhancement(RFE) that led
 * to the presence of the annotated API element.
 */
public @interface RequestForEnhancement {
    int    id();
    String synopsis();
    String engineer() default "[unassigned]"; 
    String date()     default "[unimplemented]"; 
}

1
sadece tutorials.ie'ye baktım neden bunu bulamadım. atanmamış ve uygulanmamış arasındaki farkı öğrenebilir miyim
Biju CD

16
Fark yok. Bunlar sadece String değerleridir. "Peter" ve "Paul" olabilirler.
sparkyspider

5
Ya benim parametrelerim Class<?>s ise?
Aetherus

Bu durumda Java'nın tip sistemi hala geçerlidir. ÖrneğinClass<?> proxy() default Object.class
Michael Miller

35

Bunu isteğe bağlı hale getirmek için aşağıdaki gibi varsayılan bir değer atayabilirsiniz:

public @interface ColumnName {
   String value();
   String datatype() default "String";
 }

O zaman Ek Açıklama kullanılırken belirtilmesine gerek yoktur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.