需求:
将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个子类
请问高手们 能不能通过一个类或者有限个类来就解决这类问题?
将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个子类
请问高手们 能不能通过一个类或者有限个类来就解决这类问题?