我有一个包含4个值的数组列表。我想在找到特定字符串时停止循环,否则for循环应继续。
我尝试使用break,但它没有帮助。
我试过如下:
if(productItem._NAME.equals("FRUITS")) {
break;
但这只会执行一次,即如果循环找到" FRUITS"它第一次停止执行循环。但我想继续,直到我从列表中获取所有元素但不想要元素" FRUITS"
答案 0 :(得分:2)
这只是您可以在代码中实现的示例代码,我假设您的Arraylist包含String类型的对象:
// Here fruits is the Arraylist<String> object that contains your elements
for(String str:fruits)
{
if(str.contains("FRUITS"))
{
continue;
}
System.out.println(str);
}
答案 1 :(得分:0)
假设,为了这个示例,您的示例productItem
字段/变量属于假设类型Item
:
ArrayList<Item> products = new ArrayList<>();
products.addAll(...);
ArrayList<Item> nonFruitProducts = new ArrayList<>();
for(Item product : products){ //for each product
if(!product._NAME.equals("FRUITS")){ //with a name that is not FRUITS
nonFruitProducts.add(product); //add that product to the results
}
}
然后,您可以在后面的代码中使用生成的nonFruitProducts
ArrayList
,该代码需要List
Item
个未命名为"FRUITS"
的内容:
for(Item nonFruitProduct: nonFruitProducts){
doStuffRequiringNoFruits(nonFruitProduct);
}