時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
1、原始的DAO層的類:
package com.test;
public class UserDao {
public void add(User user){
//.保存實(shí)體的代碼
}
public User get(int id) {
//.查詢實(shí)體的代碼
return null;
}
}
其中,User類代碼比較簡單,如下:
package com.test;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、我們將Dao層的類寫成范型的形式,有兩種寫法:
其一、
package com.test;
public class EntityDao1 {
public <T> void add(T t){
//查詢實(shí)體的代碼
}
public <T,ID> T get(ID id){
//.保存實(shí)體的代碼
return null;
}
}
范型一般用于方法的參數(shù)或者方法的返回值,上面的寫法,我們要使范型有效,就須在方法的返回類型前加入強(qiáng)制范型轉(zhuǎn)換。其中,add(T t)的參數(shù)用了范型,它的返回值是void型,就在void 前用強(qiáng)制類型轉(zhuǎn)換,即加上<T>,強(qiáng)制轉(zhuǎn)換成范型的形式,這樣就不會報錯了。而T get(ID id),由于它的參數(shù)和返回類型都用了范型,故要在返回類型T前強(qiáng)制轉(zhuǎn)換,即<T,ID>。
其二,范型也可寫成以下形式:
package com.test;
public class EntityDao2<T,ID> {
public void add(T t){
//..保存實(shí)體的代碼
}
public T get(ID id){
//.查詢實(shí)體的代碼
return null;
}
}
這種形式,是把范型聲明放在類中了,就不需每個方法都寫強(qiáng)制類型轉(zhuǎn)換。
看實(shí)際需要,哪種方法方便就用哪種吧!范型給java編程帶來了許多方便,好好利用,會達(dá)到事半功倍的效果。
關(guān)鍵詞標(biāo)簽:Java
相關(guān)閱讀
熱門文章 eclipse中如何設(shè)置字體大小_eclipse字體大小
人氣排行 JS驗(yàn)證日期格式是否正確Java中3DES加密解密調(diào)用示例Java技術(shù)-J2EE開發(fā)日記-MyEclipse快捷鍵與插件大全用Java刪除文件夾里的所有文件JavaScript基本語法-常量和變量C#中的空值的判斷JAVA實(shí)現(xiàn)屏幕抓圖 遠(yuǎn)程桌面控制100多個很有用的JavaScript函數(shù)以及基礎(chǔ)寫法匯總