[TIL]JAVA-注釈


💡Day 29アニメーション(Annotation)


この文章は南宮星のjava定式3/eをもとに学習内容を整理した文章です.
クリーンアップソース:https://github.com/qudalsrnt3x/javaStandard

Annotaionは?

  • プログラムソースコードに他のプログラム情報を含む事前定義フォーマット
  • 注釈のように、プログラミングに影響を及ぼさずに他のプログラムに有用な情報を提供することができる.
  • 長所

  • の構成情報は、コードに含めて維持することができる.
  • プロファイルを共有する不便はありません.
  • ソースコードの論理に干渉することなく、特定のプログラムに情報を提供することができる.
  • 標準デモ

  • Javaデフォルトで提供されるプレゼンテーション

  • @Override


    コンパイラで果たす役割は、
  • 祖先のメソッドを上書きすることです.

    @Deprecated


    使用されなくなったフィールドまたはメソッドに貼り付けます.
  • このプレゼンテーションで貼り付けられたターゲットは別のものに置き換えられています.これは、
  • を無効にすることができることを意味します.
    compileで-Xlint:deprecationオプションを追加する場合は、詳細を参照してください.

    @FunctionalInterface

  • 関数インタフェースを宣言するための
  • @SuppressWarnings

  • コンパイラに表示される警告メッセージが表示されないようにします.
  • 「depression」、「unchecked」、「rawtype」、「varargs」などのメッセージタイプがあります.
  • -Xlintオプションのコンパイル後に表示される警告内容のカッコ[]で、メッセージのタイプを決定できます.
    /* unchecked 경고를 나타나지 않게 억제 */
    // ArrayList는 제네식 클래스라서 타입을 지정해야 하는데 하지 않았기에 경고가 발생됨
    @SuppressWarnings("unchecked")
    ArrayList list = new ArrayList();
    list.add(obj);
  • 複数のアラーム
  • を同時に消去することができる.
    @SuppressWarnings({"deprecation", "unchecked"})

    @SafeVarargs

  • メソッドで宣言された可変パラメータタイプが重複しないタイプである場合、メソッドを宣言する部分と呼び出された部分で「unchecked」警告が発行されます.
  • でコードに問題がない場合は、警告を抑制するために使用します.
  • 静的、final付きのメソッド、およびジェネレータにのみ貼り付けられます.
  • 方法は、カバーすることが可能な方法
  • には適用されない.
    @SafeValargsと@SuppressWarnings("varargs")を習慣的に加算します.

    叙述する

  • プレゼンテーションでは、プレゼンテーションの適用対象(ターゲット)または保存期間(保存)を指定します.

    @Target

  • プレゼンテーション適用オブジェクトを指定するための
  • @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface SuppressWarnings {
    	String[] value();
    }

    @Retention

  • を使用して保存期間を指定します.

    @Documented

  • プレゼンテーションの情報がjavadocで作成されたドキュメントに含まれていることを確認します.
  • 基本プレゼンテーションには、@Overrideと@SuppressWarningsのほか、このメタプレゼンテーションが添付されています.
  • アニメーションタイプの定義


    @interfaceプレゼンテーション名{0}
         タイプ要素名()
    }
  • アニメーションで宣言される方法をアニメーションの要素と呼びます.
  • @interface TestInfo {
    	int count();
        String testedBy();
        String[] testTools();
        TestType testType();
        DateTime testDate();
    }
    
    @interface DateTime {
        String yymmdd();
        String hhmmss();
    }

    プレゼンテーション要素のルール

  • 要素のタイプは、基本タイプ、String、enum、注釈、クラス
  • のみです.
    パラメータは
  • ()内で宣言できません.
  • の例外を宣言することはできません.
  • 要素はタイプパラメータとして定義できません.