目前,我有这样的事情:
public class MyHolder<T> {
private T value;
public MyHolder(T t) {
this.value = t;
}
public T getValue() {
return first;
}
public void setValue(T t) {
this.first = t;
}
}
有了这个,我可以像这样使用它:
MyBean bean = new MyBean();
MyHolder<MyBean> obj = new MyHolder<MyBean>(bean);
obj.getValue(); // returns bean
而不是将getter/setter称为
getValue()
和setValue(..)
,是否可以“生成”呢?从本质上讲,根据传入的类型,将其设置为
getMyBean()
和setMyBean(..)
会很好。尽管这是一个非常简单的示例,但是如果我创建一个具有N个泛型属性的泛型holder类,那么调用它会很好有意义的东西,而不是getValue1()
或getValue2()
,等等。谢谢。
最佳答案
否。Java中没有此类功能。我什至无法想象它在语法上会是什么样子... void set<T>();
吗?以及例如MyHolder<? extends Number>
的getter/setter外观如何?