浅谈java中定义泛型类和定义泛型方法的写法
1、方法中的泛型
publicstatic<T>TbackSerializable(Class<T>clazz,Stringpath,StringfileName){
FileInputStreamfis=null;
ObjectInputStreamois=null;
Objectobj=null;
try{
fis=newFileInputStream(path+fileName);
ois=newObjectInputStream(fis);
obj=ois.readObject();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
if(fis!=null)fis.close();
if(ois!=null)ois.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
return(T)obj;
}
2、定义泛型类
publicclassPageHibernateCallback<T>implementsHibernateCallback<List<T>>{
privateStringhql;
privateObject[]params;
privateintstartIndex;
privateintpageSize;
publicPageHibernateCallback(Stringhql,Object[]params,
intstartIndex,intpageSize){
super();
this.hql=hql;
this.params=params;
this.startIndex=startIndex;
this.pageSize=pageSize;
}
publicList<T>doInHibernate(Sessionsession)throwsHibernateException,
SQLException{
//1执行hql语句
Queryquery=session.createQuery(hql);
//2实际参数
if(params!=null){
for(inti=0;i<params.length;i++){
query.setParameter(i,params[i]);
}
}
//3分页
query.setFirstResult(startIndex);
query.setMaxResults(pageSize);
returnquery.list();
}
}
以上这篇浅谈java中定义泛型类和定义泛型方法的写法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。