Java에서 주석 값 액세스
주석은 클래스, 메소드 및 필드에 메타데이터를 추가하기 위한 Java의 강력한 메커니즘입니다. 이러한 주석은 주석이 달린 코드의 동작을 수정하기 위해 런타임에 액세스하고 사용할 수 있습니다. 흔히 발생하는 질문 중 하나는 다른 클래스에서 주석의 값을 읽을 수 있는지 여부입니다.
이 질문에 대한 대답은 '예'이지만 주석의 보존 정책에 따라 다릅니다. 주석에는 세 가지 보존 정책 중 하나가 있을 수 있습니다.
다른 클래스의 주석 값을 읽으려면 해당 주석에 런타임 보존 정책이 있어야 합니다. 런타임 보존 정책을 지정하려면 @Retention 주석과 RetentionPolicy 열거형을 사용하세요.
@Retention(RetentionPolicy.RUNTIME) @interface Column { String columnName(); }
주석에 런타임 보존 정책이 있으면 리플렉션을 사용하여 다른 클래스의 해당 값에 액세스할 수 있습니다.
for (Field f : MyClass.class.getFields()) { Column column = f.getAnnotation(Column.class); if (column != null) { System.out.println(column.columnName()); } }
비공개 필드에 액세스하려면 getFields() 대신 getDeclaredFields() 메서드를 사용해야 합니다.
for (Field f : MyClass.class.getDeclaredFields()) { Column column = f.getAnnotation(Column.class); if (column != null) { System.out.println(column.columnName()); } }
위 내용은 Java의 다른 클래스에 있는 주석 값에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!