我有两个BinaryObject
s:
BinaryObject bo1;
BinaryObject bo2;
有没有办法组合这两个二进制对象。我的意思是将bo1
中的所有字段添加到bo2
中不存在的bo2
?我试过了
bo1.toBuilder();
bo2.toBuilder();
但是我没有找到将这些构建器组合成我需要的构建器的方法。事情是我不知道这些对象中的字段。
实际上我将BinaryObject
s缓存为值。我正在写StreamReceiver
以按照我上面指定的方式更新其值。这样我就必须实现以下方法:
@Override
public void receive(IgniteCache<String, BinaryObject> cache, Collection<Map.Entry<String, BinaryObject>> entries) throws IgniteException {
BinaryObject objOld = cache.get(entry.getKey());
BinaryObjectBuilder previous = objOld.toBuilder();
BinaryObject objNew = entry.getValue();
BinaryObjectBuilder current = objNew.toBuilder();
//...
}
答案 0 :(得分:2)
没有任何一个班轮。但是您可以从要合并的对象创建构建器,并在第二个对象上使用BinaryObject.type().fieldNames()
来获取它包含的字段列表。然后遍历这些字段并将值附加到构建器。