|
<p >1、原始的DAO层的类:<p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>package com.test;public class UserDao { public void add(User user){ //.保存实体的代码 } public User get(int id) { //.查询实体的代码 return null; }}</ccid_code></pre></td></tr></table></ccid_nobr><br><p >其中,User类代码比较简单,如下:<p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>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; } }</ccid_code></pre></td></tr></table></ccid_nobr><br><p >2、我们将Dao层的类写成范型的形式,有两种写法:<p >其一、<p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>package com.test;public class EntityDao1 { public <T> void add(T t){ //查询实体的代码 } public <T,ID> T get(ID id){ //.保存实体的代码 return null; }}</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >范型一般用于方法的参数或者方法的返回值,上面的写法,我们要使范型有效,就须在方法的返回类型前加入强制范型转换。其中,add(T t)的参数用了范型,它的返回值是void型,就在void 前用强制类型转换,即加上<T>,强制转换成范型的形式,这样就不会报错了。而T get(ID id),由于它的参数和返回类型都用了范型,故要在返回类型T前强制转换,即<T,ID>。<p ><p >其二,范型也可写成以下形式:<p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>package com.test;public class EntityDao2<T,ID> { public void add(T t){ //..保存实体的代码 } public T get(ID id){ //.查询实体的代码 return null; }}</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >这种形式,是把范型声明放在类中了,就不需每个方法都写强制类型转换。<p ><p >看实际需要,哪种方法方便就用哪种吧!范型给Java编程带来了许多方便,好好利用,会达到事半功倍的效果。<p >< align=right></P><p align="center"></p></p> |
|