자체 주석에 대한 선택적 매개 변수를 생성하는 방법은 무엇입니까?


89

다음은 주석 코드입니다.

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

datatype예를 들어 선택적 매개 변수 를 만들고 싶습니다.

@ColumnName(value="password") 

유효한 코드 여야합니다.

답변:


125

공식 문서 의 첫 번째 예가 모든 것을 말하는 것처럼 보입니다 ...

/**
 * 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
나는 tutorials.ie 왜 내가 이것을 찾을 수 없었는지 보았다. 할당되지 않은 것과 구현되지 않은 것의 차이점을 알 수 있을지도 모른다
Biju CD

16
차이가 없습니다. 그들은 단지 문자열 값입니다. "peter"와 "paul"이 될 수 있습니다.
sparkyspider

5
내 매개 변수가 Class<?>s 이면 어떻게 됩니까?
Aetherus

이 경우 Java의 유형 시스템이 계속 적용됩니다. 예를 들어Class<?> proxy() default Object.class
마이클 밀러

35

선택 사항으로 만들려면 다음과 같은 기본값을 할당 할 수 있습니다.

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

그러면 주석을 사용할 때 지정할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.