我正在使用 kundera 定义将存储在 hbase 中的数据模型。有一个名为“Task”的类,它应该有一个通用的提交类型,如下所示:
public class Task {
...
Object submission;
}
提交可以是任何类型,因为我想保持其通用性。
所以我的问题是:1.上述方法是一个好习惯吗?它会起作用吗?2. 实现这一目标的最佳方法是什么?
拥有一个泛型类型是个好主意。是的,它应该工作。但是,您提供的类型不是通用的。下面是一个泛型类型的例子:
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");
查看泛型教程以获取更多信息。