У меня есть список объектов "SaleItem". они все объекты одного класса. каждый объект имеет строковое поле «имя» и целое поле «значение». Я хочу посмотреть, если один из объектов содержит имя. Кажется, что я не могу использовать метод «содержит», чтобы сделать это. Я вижу два решения. один - перебрать все объекты, чтобы проверить, есть ли у него имя:
for (SaleItem item: myList) {
if (item.getName() == "banana") {
// do stuff
}
}
Другое решение - создать новый список строк из «myList» и использовать для него метод содержимого:
ArrayList<String> nameList = new ArrayList<>();
for (SaleItem item: myList) {
nameList.add(item.getName());
}
if (nameList.contains("banana")) {
// do stuff
}
Я думаю, что первый метод был бы наиболее эффективным, если бы я делал это только один раз, а второй был бы более эффективным, если бы я делал это много раз. Будучи немного новичком без формального образования, я не знаю, что уместно в этой ситуации.