提问:Java5泛型的T.class的获取

本文探讨如何使用Java泛型简化多个相似类的合并,并解决了如何获取泛型类型Class的问题。作者尝试将三个针对不同对象的辅助类通过泛型机制合并为一个通用类,但面临如何在运行时获取具体类型的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:
将A B C类对应的三个对象a b c保存在http session中,并对每个类进行封装
如下
[code]

public class AHelper {
private A a;
private HttpServletRequest request;

public AHelper(HttpServletRequest request) {
this.request = request;

a = (A)request.getSession().getAttribute("a_key");
if(a == null){
a = new A();
}
}

public A get(){
return a;
}
}

public class BHelper {
private B b;
private HttpServletRequest request;

public BHelper(HttpServletRequest request) {
this.request = request;

b = (B)request.getSession().getAttribute("b_key");
if(a == null){
b = new B();
}
}

public B get(){
return b;
}
}

[/code]
CHelper 类似

现在想用jdk5的范型将上面的3个类合并成一个 如下:
[code]
public class BaseHelper<T> {
private T object = null;
private HttpServletRequest request;

public BaseHelper(HttpServletRequest request, String key) {
this.request = request;

object = (T)request.getSession().getAttribute(key);
if(object == null){
//怎样获取T.class?
}
}

public T get(){
return object;
}
}

[/code]

问题: 怎样获取T.class?
在[url]http://www.blogjava.net/calvin/archive/2006/04/28/43830.html[/url]中有介绍获取T.class的方法,但是要求先写一个父类,然后通过继承来实现
这样做需要4个类才能实现:一个父类和3个子类
请问高手们 能不能通过一个类或者有限个类来就解决这类问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值