我正在使用 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
,例如:
Task<String> stringTask = new Task<String>("hello");
看看Generics Tutorial了解更多信息。
关于java - 使用 Kundera 在 hbase 中使用通用对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451571/