目前,我有这样的事情:

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外观如​​何?

10-08 00:20