java - 在泛型类中创建泛型方法名称?

标签 java generics

目前,我有这样的东西:-

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 个通用属性的通用持有者类,那么最好将它称为有意义的东西而不是 getValue1()getValue2(),并且等等。

谢谢。

最佳答案

没有。 Java 中没有这样的功能。我什至无法想象它在语法上会是什么样子... void set<T>(); ?例如 MyHolder<? extends Number> 的 getter/setter 会怎样?看?

关于java - 在泛型类中创建泛型方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962539/

相关文章:

java - 解决类型推断时对Exception的约束

c# - 如何确保 T 在固定字节数内是可序列化的?

java - Android中可以根据不同的状态条件显示不同的布局组件吗?

java - Android 中的 UUID 是否特定于设备内的应用程序?

Java 泛型、对象和通配符的区别和说明

delphi 使用记录作为 TDictionary 中的键

arrays - 关于 Delphi/Generic/array 的 : why this doesn't compile?

java - Mysql建表sql多个

java - 找到白色节点的最长路径

java - 对字符串进行分组 - Java