Android support library從19.1版本開始引入了一個新的註解庫,它包含不少有用的元註解,你能用它們修飾你的代碼,幫助你發現bug(編譯報錯提醒)android
添加依賴:
implementation 'com.android.support:support-annotations:22.2.0'ide
使用註解:
@IntDef & @StringDef(替代 Java 中枚舉的註解)函數
@Nullable & @NonNull(可修飾成員屬性,方法參數和返回值)
@Nullable:註解的元素能夠爲 null。
@NonNull:註解的元素不能夠爲 nullui
@FloatRange & @IntRange(可修飾方法參數、方法返回值、成員屬性)
是用於限定範圍的註解。其中 @FloatRange 是限定 float 類型的,而 @IntRange 是限定 int 類型的
@IntRange(from= 1, to = 180)
private int intValue=2線程
@Size 註解的做用是限定長度的(可修飾成員屬性,方法參數和返回值)it
@RequiresPermission 該註解做用是代表方法所執行的內容須要權限
@ RequiresPermission( Manifest. permission. CALL_PHONE)
private void callPhone(String phone){
}io
@CheckResult 註解是做用於方法上的,做用是檢驗有沒有處理返回值。若是沒有處理返回值則會報錯編譯
@UiThread:表示標記的方法或構造函數只應該在 Ui 線程上調用。若是標記的是一個類,那麼該類中的全部方法都應是在 Ui 線程被調用class
@WorkerThread:表示標記的方法只應該在工做線程上調用。若是標記的是一個類,那麼該類中的全部方法都應是在一個工做線程上調用權限