Java之四大內建註解@Override、@Deprecated、@SuppressWarnings、@SafeVarargs
阿新 • • 發佈:2018-12-10
Java中的四大內建註解: ==> 標記程式 給予特殊意義
1.@Override : 驗證方法是否在覆寫 2.@Deprecated : 標記方法、類...等是否過時 3.@SuppressWarnings: 標記 內容抑制警告 4.@SafeVarargs: 標記 抑制堆汙染警告 什麼時候會出現對堆汙染警告?? ==》 使用泛型+可變引數的時候就會出現對汙染【警告】 堆汙染警告,僅僅是警告 而已,並不代表不能用 為什麼會出現堆汙染警告,以及堆汙染可能出現什麼問題 例如:堆中新增各種型別的資料雜亂:classCastException 不能夠建立泛型陣列 :建立陣列必須要有具體的型別,【陣列就是儲存空間】 這個堆汙染警告,是後面才專門加的一個 註解,原來用@SuppressWarings Java中可以標記的位置
:類[欄位,構造方法,普通方法,區域性變數] 介面 列舉
ex:
/** * Java中的四大內建註解: ==>標記程式 給予特殊意義 * [email protected] : 驗證方法是否在覆寫 * [email protected] : 標記方法、類...等是否過時 * [email protected]: 標記 內容抑制警告 * [email protected]: 標記 抑制堆汙染警告 * 什麼時候會出現對堆汙染警告?? ==》 使用泛型+可變引數的時候就會出現對汙染【警告】 * 堆汙染警告,僅僅是警告 而已,並不代表不能用 * 為什麼會出現堆汙染警告,以及堆汙染可能出現什麼問題 * 例如:堆中新增各種型別的資料雜亂:classCastException * 不能夠建立泛型陣列 :建立陣列必須要有具體的型別,【陣列就是儲存空間】 * 這個堆汙染警告,是後面才專門加的一個 註解,原來用@SuppressWarings * * java中可以標記的位置:類[欄位,構造方法,普通方法,區域性變數] 介面 列舉 * @author 鄭清 */ public class AnnotationDemo { @Override //驗證方法是否在覆寫 public String toString() { // TODO Auto-generated method stub return super.toString(); } @Deprecated //標記方法、類...等是否過時 private void add() { // TODO Auto-generated method stub } //@SuppressWarnings({ "rawtypes", "unused" }) //標記 內容抑制警告 private void getList() { // TODO Auto-generated method stub @SuppressWarnings({ "rawtypes", "unused" }) //標記 內容抑制警告 List list; } @SuppressWarnings("unused") //標記 內容抑制警告 @SafeVarargs //標記 抑制堆汙染警告 private static <T>T useVarargs(T...args) { // TODO Auto-generated method stub return args.length > 0 ? args[0] : null; } }