1. 程式人生 > >Java之四大內建註解@Override、@Deprecated、@SuppressWarnings、@SafeVarargs

Java之四大內建註解@Override、@Deprecated、@SuppressWarnings、@SafeVarargs

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;
	}

}