【问题标题】:How to get input from Json using generic class?如何使用泛型类从 Json 获取输入?
【发布时间】:2020-11-12 04:51:59
【问题描述】:

我想编写一个通用类,它使用一个字段中的信息来输入一个 Json 文件,以确定另一个字段是什么类型的对象。

例如,Widget 对象有 2 个字段:type datadata 字段取决于 type

如果type 是“VideoPlayer”,data 应该有“名称”和“视频”,如果type 是“相机”,data 应该有“地址”和“输入”

public class Widget<T> {

    @JsonProperty("type")
    private String type;

    @JsonProperty("data")
    private Data<T> data;
}

【问题讨论】:

    标签: java android json api


    【解决方案1】:

    在类 Widget 的构造函数中设置变量类型并创建 if/else if 并根据值调用构造函数 Data&lt;VideoPlayer&gt;Data&lt;Camera&gt;

    public Widget(String type) {
        this.type = type;
        if(type.equals("VideoPlayer")){ this.data = new Data<VideoPlayer>("Name","Video");}
        else if(type.equals("Camera")){ this.data = new Data<Camera>("Address", "Info");} 
    }
    

    然后在 Data&lt;T&gt; 类的构造函数中,你应该有变量来设置你想要的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 2013-04-17
      • 2019-03-28
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多