浅谈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,定义,泛型类
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java的枚举类型使用方法详解
2023-11-19 04:32:55
简单谈谈Java中的栈和堆
2022-07-30 05:33:01
![](https://img.aspxhome.com/file/2023/3/61163_0s.png)
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
![](https://img.aspxhome.com/file/2023/8/104688_0s.png)
SpringBoot整合阿里云短信服务的方法
2022-03-24 18:17:11
浅析Java线程的中断机制
2023-11-19 20:11:50
Android输入框控件ClearEditText实现清除功能
2022-12-16 06:59:48
![](https://img.aspxhome.com/file/2023/1/137311_0s.jpg)
分享一个Android设置圆形图片的特别方法
2022-06-27 23:17:27
![](https://img.aspxhome.com/file/2023/7/111687_0s.png)
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
![](https://img.aspxhome.com/file/2023/4/61254_0s.png)
Java集合继承体系详解
2023-12-03 00:22:13
![](https://img.aspxhome.com/file/2023/3/76493_0s.jpg)
springboot对接支付宝支付接口(详细开发步骤总结)
2023-11-10 23:07:35
![](https://img.aspxhome.com/file/2023/6/58746_0s.png)
Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例
2021-09-07 14:45:17
![](https://img.aspxhome.com/file/2023/5/98645_0s.jpg)
IDEA(jetbrain通用)使用教程图解
2023-04-15 04:05:49
![](https://img.aspxhome.com/file/2023/9/61389_0s.gif)
java代码实现MD5加密及验证过程详解
2023-09-26 02:50:45