java - 使用 Kundera 在 hbase 中使用通用对象类型

标签 java generics hadoop hbase kundera

我正在使用 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/

相关文章:

java - 什么是原始类型,为什么我们不应该使用它呢?

java - Kotlin 投影冗余

hadoop - Sqoop作业异常

hadoop - 如何在 apache zeppelin 中使用 hdfs shell 命令?

java - 安装 pig 时出现“未设置 JAVA_HOME”错误。怎么办?

java - 如何防止 9-Patch 文件的中心被拉伸(stretch)?

java - stomp 内容类型 header 设置为 plain 用于 xml 内容

java - 使用 Spring 在 JSP 中显示图像

java - `copy(List<? super T> dest, List<? extends T> src) ` 和 `copy(List<T> dest, List<? extends T> src)` 之间的差异

java - 使用类层次结构中的某些子类