日期:2015/6/28来源: IT猫扑网
1、原始的DAO层的类:
package com.test;
public class UserDao {
public void add(User user){
//.保存实体的代码
}
public User get(int id) {
//.查询实体的代码
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){
//查询实体的代码
}
public <T,ID> T get(ID id){
//.保存实体的代码
return null;
}
}
范型一般用于方法的参数或者方法的返回值,上面的写法,我们要使范型有效,就须在方法的返回类型前加入强制范型转换。其中,add(T t)的参数用了范型,它的返回值是void型,就在void 前用强制类型转换,即加上<T>,强制转换成范型的形式,这样就不会报错了。而T get(ID id),由于它的参数和返回类型都用了范型,故要在返回类型T前强制转换,即<T,ID>。
其二,范型也可写成以下形式:
package com.test;
public class EntityDao2<T,ID> {
public void add(T t){
//..保存实体的代码
}
public T get(ID id){
//.查询实体的代码
return null;
}
}
这种形式,是把范型声明放在类中了,就不需每个方法都写强制类型转换。
看实际需要,哪种方法方便就用哪种吧!范型给java编程带来了许多方便,好好利用,会达到事半功倍的效果。
相关文章
相关下载
网友评论