软件编程
位置:首页>> 软件编程>> java编程>> 浅谈java中定义泛型类和定义泛型方法的写法

浅谈java中定义泛型类和定义泛型方法的写法

作者:jingxian  发布时间:2023-04-19 14:28:59 

标签:java,定义,泛型类

1、方法中的泛型


public static <T> T backSerializable(Class<T> clazz , String path ,String fileName){

FileInputStream fis = null;
ObjectInputStream ois = null;
Object obj = null;

try {

fis = new FileInputStream(path + fileName);
 ois = new ObjectInputStream(fis);
 obj = ois.readObject();

} catch (FileNotFoundException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
} catch (ClassNotFoundException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
} catch (IOException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
}finally{

try {
 if( fis!=null) fis.close();
 if( ois!=null) ois.close();
 } catch (IOException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }

}

return (T)obj;
}

2、定义泛型类


public class PageHibernateCallback<T> implements HibernateCallback<List<T>>{

private String hql;
private Object[] params;
private int startIndex;
private int pageSize;

public PageHibernateCallback(String hql, Object[] params,
 int startIndex, int pageSize) {
super();
this.hql = hql;
this.params = params;
this.startIndex = startIndex;
this.pageSize = pageSize;
}

public List<T> doInHibernate(Session session) throws HibernateException,
 SQLException {
//1 执行hql语句
Query query = session.createQuery(hql);
//2 实际参数
if(params != null){
 for(int i = 0 ; i < params.length ; i ++){
 query.setParameter(i, params[i]);
 }
}
//3 分页
query.setFirstResult(startIndex);
query.setMaxResults(pageSize);

return query.list();
}

}

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com