パラメータの値を定義するためにJavaアノテーションを使用することを学びます

序文

  Java開発では、私たちはしばしばいくつかのint型またはString型の値を入力する必要があり、これらの値は、唯一の状態やカテゴリに代わって使用することができます。複数の入力私たちの大きなこれらの操作コードが定義された値より大きくない場合は、私たちだけの入力値にしたいが、0から5まで、このパラメータのこの値の範囲。だから我々は制限する必要があります。通常の状況下で、我々は、列挙列挙型を使用することができます。保持されているアクティビティがメモリリークが発生するためしかし、個人が頻繁にAndroidの開発を投げる、とAndroidを使用列挙型に推奨されていない、特に脆弱です。そこで、我々は限られた値の注釈スタイルの数を参照することができます。

コードセクション

モード1:

  もっとこの方法を使用することをお勧めします

  まず、いくつかの定数を設定するインターフェイスを作成し、我々は唯一の値このインターフェイスの定義を使用します。

パブリック インターフェイスレベル{
     INT LEVEL_V = 1 int型 LEVEL_D = 2 ;
    int型 LEVEL_I = 3 ;
    INT LEVEL_W = 4 int型の LEVEL_E = 5 ; 
}

  そして、アノテーションクラス、使用を作成@IntDef

// @Retentionこの注釈は、予約の範囲を示し、コンパイラは、コードの存在が実行されていないときSOURCE =注釈が破棄される、注釈がちょうどほしいIDE警告範囲の上限は、実行中のVMまたは保持する必要はありません。
@Retentionを(SOURCE) 
 // @Target場所注釈を使用する必要があるパラメータ=注釈プロセスパラメータに使用する
@Target({パラメーター}) 
 // 整数値が@LongDef @ @IntDefことを除いて、明示的に定義された宣言しましたStringDef等 
@IntDef(値= {Level.LEVEL_V、Level.LEVEL_D、Level.LEVEL_I、Level.LEVEL_W、Level.LEVEL_E}) 
 パブリック @ インタフェースのLogLevel { 

}

  その後、我々は、ログレベルを作成し、このアノテーションを使用します

公共 ボイド setLogLevel(@LogLevel INT レベル){
         この .level = レベル。
}

  その後、我々は結果を見て、ちょうどここに整数値を入力し、あなたは、Androidのスタジオは、我々は以下の値のみを伝えるために選択することができ、警告されている見ることができます。

  プロンプト正しいなしの警告を入力した後。

オプション2:

  注釈クラス自体は、実際のインターフェイスであるため、これは、定数の直接の暴力、書き込みノートに簡単な方法です。その後、独自の定数を宣言

@Retention(SOURCE)
@Target({PARAMETER})
@IntDef(値 = {LogLevel.LEVEL_V、LogLevel.LEVEL_D、LogLevel.LEVEL_I、LogLevel.LEVEL_W、LogLevel.LEVEL_E})
 パブリック @ インタフェースのLogLevel {
     INT LEVEL_V = 1 int型 LEVEL_D = 2 ;
    int型 LEVEL_I = 3 ;
    INT LEVEL_W = 4 int型の LEVEL_E = 5 ; 

}

 

終わり

おすすめ

転載: www.cnblogs.com/guanxinjing/p/12162036.html