> Java > java지도 시간 > Java 메타 주석 보존을 선언하는 방법

Java 메타 주석 보존을 선언하는 방법

王林
풀어 주다: 2023-05-03 09:13:16
앞으로
1395명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿