Java에서 주석 값 검색
Java 주석은 코드 요소에 대한 메타데이터를 제공하는 편리한 방법을 제공합니다. 특정 시나리오에서는 런타임에 이러한 주석 값에 액세스해야 할 수도 있습니다. 특히 다음과 같은 질문이 제기됩니다.
런타임 보존 기능이 있는 주석을 Java의 다른 클래스에서 읽을 수 있습니까?
주석에 다음과 같은 주석이 달린 경우 대답은 '예'입니다. @Retention(RetentionPolicy.RUNTIME). 이는 컴파일 이후에도 주석을 런타임에 사용할 수 있어야 함을 나타냅니다.
다음 코드 조각을 고려하세요.
<code class="java">@Column(columnName="firstname") private String firstName; @Column(columnName="lastname") private String lastName;</code>
다른 클래스에서 주석 값을 검색하려면 리플렉션을 사용할 수 있습니다.
<code class="java">for (Field f : MyClass.class.getFields()) { Column column = f.getAnnotation(Column.class); if (column != null) { System.out.println(column.columnName()); } }</code>
비공개 필드에 액세스해야 하는 경우 getDeclaredFields()를 사용할 수 있습니다.
<code class="java">for (Field f : MyClass.class.getDeclaredFields()) { Column column = f.getAnnotation(Column.class); if (column != null) { System.out.println(column.columnName()); } }</code>
이 코드는 MyClass의 필드를 반복하면서 각 필드의 @Column 주석을 확인합니다. 주석이 발견되면 columnName 속성의 값을 인쇄합니다.
위 내용은 Java 런타임 시 다른 클래스에서 주석 값을 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!