gpt4 book ai didi

java - 检查对象数组是否包含具有相同属性的对象

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:19 24 4
gpt4 key购买 nike

嘿,我正在做一个小项目,我使用谷歌视觉 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。现在,代码实际上并没有增加对象的计数,它总是向列表中添加一个新对象,有没有办法我可以检查同一条形码的对象列表,然后相应地增加计数?

编辑:好的,谢谢您的回答,我实际上设法解决了它。忘记提及条形码属性是 String 类型,也忘记了您不将字符串与 == 进行比较,而是与 equals 进行比较。抱歉,感谢大家花时间帮助我。

最佳答案

你可以这样走,

    for (int i = 0; i < MainActivity.barcodesList.size(); i++) {
if (MainActivity.barcodesList.get(i).getBarcodeNo().equalsIgnoreCase(currentBarcode)) {
Toast.makeText(this, "Duplicate QR Code : " + currentBarcode, Toast.LENGTH_SHORT).show();
return;
}
}
BarcodeModel bm = new BarcodeModel();
bm.setBarcodeNo(currentBarcode);
MainActivity.barcodesList.add(bm);

您的计数将是

    MainActivity.barcodesList.size() + 1

关于java - 检查对象数组是否包含具有相同属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46090578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com