我目前有一个对象的List。对象的移除是通过以下方式完成的:
if (mProducts.contains(orderProduct)) {
mProducts.remove(orderProduct);
.
. 但是,用于List状态的javadocs
从此{@代码列表}中移除指定对象的第一个匹配项。
我需要从列表中删除给定的对象,而不仅仅是第一个对象。这里的正确方法是什么?我可以提供我自己的List.remove实现或者使用替代的数据结构吗?
谢谢你,奥特曼
发布于 2017-02-13 17:30:40
在Java中,List对其contains和remove(Object o)方法使用equals()作为声明的here
在其中一个答复注释中,还指出Java使用引用比较作为缺省值。
也许您可以为您的产品重写equals()方法,以得到您想要的东西。
https://stackoverflow.com/questions/42209313
复制相似问题