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

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

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();
}

}

标签:java,定义,泛型类
0
投稿

猜你喜欢

  • Java的枚举类型使用方法详解

    2023-11-19 04:32:55
  • 简单谈谈Java中的栈和堆

    2022-07-30 05:33:01
  • c#之滚动字幕动画窗体的实现详解

    2022-02-14 08:46:19
  • C#高级静态语言效率利器之泛型详解

    2023-01-24 09:18:02
  • 初学C#所需明白的那些点

    2023-11-26 14:40:50
  • Android重写View实现全新的控件

    2021-08-11 21:49:39
  • SpringBoot整合阿里云短信服务的方法

    2022-03-24 18:17:11
  • 浅析Java线程的中断机制

    2023-11-19 20:11:50
  • Android输入框控件ClearEditText实现清除功能

    2022-12-16 06:59:48
  • 分享一个Android设置圆形图片的特别方法

    2022-06-27 23:17:27
  • Android使用animator实现fragment的3D翻转效果

    2021-10-12 06:20:42
  • 解读@RabbitListener起作用的原理

    2021-08-04 12:58:59
  • 8种android 对话框(Dialog)使用方法详解

    2023-07-09 18:23:44
  • Android MediaPlayer实现音乐播放器实例代码

    2021-05-26 22:58:05
  • 超详细的Spring Boot入门笔记(总结)

    2022-10-26 18:44:21
  • Java集合继承体系详解

    2023-12-03 00:22:13
  • springboot对接支付宝支付接口(详细开发步骤总结)

    2023-11-10 23:07:35
  • Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例

    2021-09-07 14:45:17
  • IDEA(jetbrain通用)使用教程图解

    2023-04-15 04:05:49
  • java代码实现MD5加密及验证过程详解

    2023-09-26 02:50:45
  • asp之家 软件编程 m.aspxhome.com