0

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

public class Task {
    ...
    Object submission;
}

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

所以我的问题是:1.上述方法是一个好习惯吗?它会起作用吗?2. 实现这一目标的最佳方法是什么?

4

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某种类型的 a,例如:

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

查看泛型教程以获取更多信息。

于 2013-05-08T23:03:06.237 回答