我正在创建一个比较服务,它比较两个对象并生成结果,包括不同的部分。比较结果对象将映射到JSON并返回REST服务。
public class CompareResult {
private final String errorCode;
private final String codeName;
private final Map<String, T> compareResult;
setter, getter
}
由于我将比较的对象很复杂,并且它可能包含许多不同的包,例如: ObjectToBeCompared 对象包括3个字段,这是另外三个对象1,2,3。如果对象2在 objectToBeCompared1 和 objectToBeCompared2 之间存在差异,那么我想将对象2复制到 compareResult 字段中:
compareResult.put("Object2InObjectToBeCompared1", ObjectToBeCompared1.Object2),
compareResult.put("Object2InObjectToBeCompared2", ObjectToBeCompared2.Object2)
, T 可能是对象1或对象3.
我知道这可能与泛型类型有关,但是,我只是不知道如何实现它。简单来说,在我在 CompareResult 类中定义的字段中, compareResult 是 Map ,而 T 可以是任何对象。我可以使用 Map ,如果是这样,当我使用 objectMapper 从对象映射到JSON String时,会导致任何问题吗?
答案 0 :(得分:0)
compareResult是一个Map,T可以是任何对象
由于您不想对类型进行任何限制,我认为放弃泛型是个好主意。
您可以执行类似
的操作private final Map<String, Object> compareResult;
你的第二个问题的答案是否定的,ObjectMapper
应该可以正常工作。
希望这有帮助。