1. 주석 선언: @interface를 통해 주석을 선언할 수 있습니다.
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface BindView { int value(); }
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Get { String value() default ""; }
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Queue { String value() ; }
2. @Target 메타 주석, 주석의 주석, 해당 값은 ElementType 열거 클래스에 정의됩니다.
@Target 주석은 사용자 정의 주석 코드의 위치를 정의하는 데 사용됩니다.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Target { ElementType[] value(); }
1) ElementType.FIELD는 멤버 변수에 사용됩니다.
2) ElementType.METHOD는 멤버 메서드에 사용됩니다.
3) ElementType.PARAMETER는 메소드 매개변수에 사용됩니다.
4) ElementType.TYPE은 클래스와 인터페이스에 사용됩니다.
5) ElementType.ANNOTATION_TYPE은 주석에 사용됩니다.
3.@Retention 메타 주석, 값은 RetentionPolicy 열거 클래스에 정의됩니다.
주석이 적용되는 단계를 정의하는 데 사용됩니다.
1) 소스: 주석은 소스 코드 단계에서만 유효하며 바이트코드로 컴파일되지 않습니다.
2) CLASS: 주석은 소스 코드 및 바이트 코드 단계에서 유효하지만 실행 단계에서는 존재하지 않습니다.
3) 런타임: 주석은 소스 코드, 바이트 코드 및 실행 단계에서 유효하며 가장 일반적으로 사용됩니다.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Retention { RetentionPolicy value(); }
public enum RetentionPolicy { SOURCE, CLASS, RUNTIME; private RetentionPolicy() { } }
2. 주석 사용
@BindView(R.id.start_activity) TextView startTextView;
@Get("http://www.baidu.com") Call getPerson(@Queue("name") String name,@Queue("200")int price); @Get("http://www.baidu.com") Call getPerson();
주석 사용은 매우 간단합니다.
주석만으로는 의미가 없으며 다른 기술과 결합되어야 합니다.
애플리케이션:
1) 주석 + Apt 주석 프로세서, Java 코드 생성, 데이터 바인딩, 버터나이프, dagger2 hilt
2) 주석 + 코드 매립 지점
3) 주석 + 반사 + 동적 프록시 개조 xUtils 수명주기
위 내용은 Java 메타 주석 보존을 선언하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!