jdk1.5新特性之一泛型的引入

 、泛型是JDK1.5中一個最重要的特徵。通過引入泛型,我們將獲得編譯時類型的安全和運行時更小地拋出ClassCastException的可能。  如果使用泛型,只要代碼在編譯時沒有出現警告,就不會遇到運行時ClassCastException !

 

二、泛型的應用

      1、在集合中的應用,指定集合中只能存放某一類型,<>裏面一定只能是引用類型,不能是基本類型,如:int等

 

ArrayList collection1 = new ArrayList(); //可能存放任意object對象 
collection1.add(1);
collection1.add(1L); 
collection1.add("abc"); 
int i = (Integer)collection1.get(1);//編譯時有警告,可能會拋出ClassCastException

 

ArrayList<String> collections = new ArrayList();//只能存放String對象
collections.add("泛型");
collections.add("string");
collections.add("abc");
String element = collections.get(1);//不用強制轉換類型

 

  2、在web的應用,編寫通用Dao類,對數據庫數據進行crud操作.

/**Dao接口類*/
public interface Dao<T> {
         public void save(T object);
         public void delete(int id);
         public T find(int id);
         public void update(T object);
         public List<T> findAll();
}
/**Dao接口實現類*/
public class DaoSupport<T> implements Dao<T> {
	@Override
	public void delete(int id) {
		System.out.println("delete");
	}
	@Override
	public T find(int id) {
		System.out.println("find");
		return null;
	}
	@Override
	public List<T> findAll() {
		System.out.println("findall");
		return null;
	}
	@Override
	public void save(T object) {
		System.out.println("save");
	}
	@Override
	public void update(T object) {
		System.out.println("update");
	}
}

 

編寫實體Dao類:

/**user實體dao類*/
public interface UserDao extends Dao<User>{

}
/**user實體dao實現類*/
public class UserDaoImpl extends DaoSupport<User> implements UserDao {

}

 

這樣userDao就具有了crud功能,其他dao類類似做法.

 

 

發佈了15 篇原創文章 · 獲贊 3 · 訪問量 2106
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章