[자바 8]자바 8 의 중복 설명
2426 단어 annotationJava 8
반복 가능 한 주석 은 언제 필요 합 니까?매달 마지막 날 과 매주 5 시 23 분 에 한 번 씩 실행 하 는 방법 이 필요 하 다 고 가정 하면 아래 와 같이 설명 을 추가 할 수 있 습 니 다.
@Schedule(dayOfMonth="last")
@Schedule(dayOfWeek="Fri", hour="23")
public void doPeriodicCleanup() { ... }
위의 예 는 방법 에 중복 주석 을 추가 하 였 습 니 다.물론 다른 Annotation 처럼 중복 주석 을 추가 하고 싶 은 곳 에 추가 할 수도 있 습 니 다.예 를 들 어 권한 이 부여 되 지 않 은 접근 이상 을 클래스 로 처리 하려 면 아래 와 같이 설명 을 추가 할 수 있 습 니 다.
@Alert(role="Manager")
@Alert(role="Administrator")
public class UnauthorizedAccessException extends SecurityException { ... }
호환성 을 고려 해 중복 주석 은 용기 Annotation(container annotation)에 저장 되 며,컴 파일 할 때 자바 컴 파 일 러 가 용기 Annotation 을 자동 으로 생 성하 고 중복 주석 을 용기 Annotation 에 저장 합 니 다.따라서 컴 파일 러 가 이 점 을 할 수 있 도록 코드 에 두 개의 Annotation 성명 을 포함해 야 합 니 다.다음은 절 차 를 살 펴 보 자.
첫 번 째,성명 은 주석 형식 을 반복 할 수 있 습 니 다.
Annotation 형식 은@Repeatable 메타 주석 을 추가 해 야 합 니 다.예 를 들 어:
@Repeatable(Schedules.class)
public @interface Schedule { ... }
@Repeatable 뒤에 있 는 작은 괄호 는 중복 설명 이 가능 한 용기 Annotation 이름 을 저장 하 는 데 사 용 됩 니 다.용기 Annotation 은 자바 컴 파일 러 에서 생 성 되 고 중복 설명 이 가능 한 저장 에 사 용 됩 니 다.이 예 에서 용기 Annotation 이름 은 Schedules 이기 때문에@Schedules 는@Schedules 에 저 장 됩 니 다.
자바 의 같은 요소 에 주석 을 반복 적 으로 사용 하려 면 설명 을 설명 할 때@Repeatable 원 주석 이 없어 서 는 안 되 거나 없어 서 는 안 된다 는 것 을 기억 하 십시오.그렇지 않 으 면 컴 파일 오류 가 발생 할 수 있 습 니 다.
두 번 째 단계,성명 용기 주석 형식
용기 Annotation 에는 배열 형식의 value 요소 가 있어 야 합 니 다.또한 배열 의 각 요소 의 유형 은 반복 적 으로 설명 할 수 있 는 유형 이 어야 합 니 다.예 를 들 면:
public @interface Schedules {
Schedule[] value;
}
주석 가 져 오기
자바 API 에서 반사 API 를 제공 하여 Annotation 을 가 져 옵 니 다.예 를 들 어 AnnotatedElement.getAnnotationByType(Class)은 이 방법 으로 Annotatoin 을 되 돌려 줍 니 다.하지만 하나의 요소 에 여러 개의 반복 Annotation 이 있다 면 이 방법 으로 용기 Annotation 의 첫 번 째 Annotation 만 되 돌려 줍 니 다.자바 8 에 서 는 용기 Annotation 의 모든 중복 설명 을 가 져 올 수 있 는 더 많은 API 를 제공 합 니 다.예 를 들 어 Annotated Element.getAnnotations(Class)등 은 자바 API 를 참조 하여 더 많은 정 보 를 얻 을 수 있 습 니 다.
글 의 출처:
http://www.aptusource.org/2014/03/java-8-repeat-annotations/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Semantic Segmentation】 video의 연속성을 사용하여 data의 부피 증가annotation data를 늘리려는 것이 이 논문의 메인 테마이다. optical flow를 아는 사람이라면 간단하게 이미지 할 수 있다고 생각하지만, 이미지와 Ground Truth 데이터의 pixel을 함께 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.