有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在使用Kundera的hbase中使用泛型对象类型

我正在使用昆德拉定义我的数据模型,该模型将存储在hbase中。有一个名为“Task”的类,它应该有一个通用的提交类型,如下所示:

public class Task {
    ...
    Object submission;
}

提交可以是任何类型,因为我想保持它的通用性

所以我的问题是: 1.上述方法是一种良好做法吗?行吗? 2.实现这一目标的最佳方式是什么


共 (1) 个答案

  1. # 1 楼答案

    拥有泛型类型是个好主意。是的,应该有用。但是,您提供的类型是而不是泛型。下面是一个泛型类型的示例:

    public class Task<T> {
        T submission;
    
        // You can now use T as a class (but not with `new` or some other things)
        public T getSubmission() { return submission; }
        public void setSubmission(T new) { submission = new; }
        public Task(T t) { setSubmission(t); }
        // etc.
    }
    

    然后,您可以制作某种类型的Task,例如:

    Task<String> stringTask = new Task<String>("hello");
    

    更多信息,请查看Generics Tutorial