java从protobuf生成的类中包含的列表中删除对象
我的protobuf对象看起来像这样
message Abc {
repeated XYZ xyz;
}
当它被转换成Abc类时,它对list<XYZ>
有以下方法:
getXyzList(), getXyzBuilderList(), getXyzOrBuilderList()
假设这个列表包含4个类XYZ
的对象,我迭代了这个列表。根据条件,我需要从此列表中删除特定对象
由于迭代列表时无法删除对象,因此我将对象添加到另一个列表中,例如tempList
(类型为List<XYZ>
)
现在让我们假设tempList
列表中有2个对象。从原始列表中删除这两个对象的最佳方法是什么
我不能做Abc.getXyzList()
或Abc.getXyzOrBuilderList()
,因为它是不可变的。如果我执行Abc.getXyzBuilderList()
,它将更改对象引用(保持内容不变)
如果执行Abc.getXyzBuilderList().removeAll(tempList)
,则来自tempList
和Abc.getXyzBuilderList()
的对象引用不同,因此不会删除这些对象
我怎样才能避开这个问题
共 (0) 个答案