【发布时间】:2020-03-04 16:25:02
【问题描述】:
我有一个对象列表“SaleItem”。它们都是同一类的对象。每个对象都有一个字符串字段“名称”和一个整数字段“值”。我想看看其中一个对象是否包含名称。看来我不能使用“包含”方法来做到这一点。我看到两个解决方案。一种是遍历所有对象以检查是否有说过名称:
for (SaleItem item: myList) {
if (item.getName() == "banana") {
// do stuff
}
}
另一种解决方案是从“myList”创建一个新的字符串列表并在其上使用 contains 方法:
ArrayList<String> nameList = new ArrayList<>();
for (SaleItem item: myList) {
nameList.add(item.getName());
}
if (nameList.contains("banana")) {
// do stuff
}
我想如果我只做一次,第一种方法会最有效,如果我做很多次,第二种方法会更有效。作为一个没有受过正规教育的新手,我不知道在这种情况下什么是合适的。
【问题讨论】:
-
请标记一种编程语言。
-
如果您需要使用 contains() 方法,请覆盖您的类的 equals 方法以检查名称字段。