【发布时间】:2023-03-26 05:35:01
【问题描述】:
嘿,所以我正在做一个使用 google vision api 的小项目,重点是读取条形码并列出它们。 我希望能够多次读取条形码,并且只增加我在我的barcodeItem 对象数组中添加的相同“barcodeItem”对象的计数。
if(currentBarcode != null){
boolean exists = false;
BarcodeItem barcodeItem = new BarcodeItem(currentBarcode);
for (BarcodeItem item : MainActivity.barcodesList){
if(item.barcode == barcodeItem.barcode){
item.itemCount++;
exists = true;
} else {
//do nothing to item
}
}
if(exists == false){
MainActivity.barcodesList.add(barcodeItem);
}
currentBarcode = null;
} else { //do nothing
}
我也尝试过使用contains。现在代码实际上并没有增加对象的计数,它总是向列表中添加一个新对象,有没有办法可以检查对象列表中是否有相同的条形码,然后相应地增加计数?
编辑:好的,感谢您的回答,我实际上设法解决了它。忘记提及条形码属性是字符串类型,并且还忘记了您不会将字符串与== 而是与equals 进行比较这一事实。很抱歉,谢谢大家抽出时间来帮助我。
【问题讨论】:
标签: java android arrays list object