2017-09-28 1 views
0

클래스 내부의 자바 주석에 대한 사용 횟수를 제한하는 방법이 있습니까?자바 주석 사용 제한

@Target(ElementType.FIELD) 
@Inherited 
public @interface MyAnnotation { 
    // 
} 

내가 원하는 무엇 :

public class MyClass{ 

    @MyAnnotation 
    private Object obj1; 

    @MyAnnotation //should throw an error because already used on another field 
    private Object obj2; 
} 

감사합니다 : 나는 것을 방지하려면 무엇

public class MyClass{ 

    @MyAnnotation 
    private Object obj1; 

    private Object obj2; 
} 

.

+1

하나의 주석이 모든 클래스 구성원에게 영향을 주려면 클래스 수준에서 주석을 작성해야합니다. – blafasel

+0

이 주석이있는 필드에 액세스하려고하기 때문에. –

답변

-1

주석에 @Target(ElementType.FIELD)이 있으면 주석을 적용 할 수있는 필드의 수에 대해 컴파일 타임 검사를 시행 할 수 없습니다. 물론 처리 중에 확인할 수는 있지만 컴파일 타임 검사는 아닙니다.

+0

@Target 주석을 제거했는지 확인할 수 있습니까? 지금은 처리 중에 확인 중입니다. –

+0

@ L.Andia 아니요. 주석을 필드에 적용 할 수있게하면 모든 필드에 적용 할 수 있습니다. – lexicore

+0

감사합니다. 그래서 당신의 대답은 컴파일 시간에 불가능하다는 것입니다. –