Java Casting在运行时

时间:2017-04-03 17:23:16

标签: java

我们有一个通用API来获取有效负载(考虑JSON)以及来自不同客户端的客户端ID。

如何使用客户端ID将有效负载转换为适当的POJO。

粗略的想法是将有效负载反序列化为java对象,并基于clientId,将JAVA对象转换为相应的POJO。

我有一个用于配置的ENUM类,其内容如下所示。

public enum SourceEnum {
    ClientId1(A.class);
    ClientId2(B.class);

    Class clazz;
    SourceEnum(Class clazz) {
        this.clazz = clazz;
    }

    public Class getClazz(){
        return this.clazz;
    }
}

我们可以使用SourceEnum.valueOf(clientId).getClazz()来获取Class。

如何使用此信息将java Object转换为相应的类对象?

这是解决这个问题的正确方法吗?想试试是否有更好的方法来解决这个问题

1 个答案:

答案 0 :(得分:-1)

如果要将给定的json转换为java对象,请尝试使用谷歌的Gson