我的arraylist的Java contains()无法循环工作

艾米·乌迈拉(Aimi Umairahhh):

我有一个arraylist,我想检查一下arraylist是否有特定的字符串。我发现.contains()可以解决问题。但是,当我循环运行它以检查arraylist中的“ bot”一词时。结果还包括“聊天机器人”和“机器人”作为“机器人”,这并不是我想要的结果。但是,如果我没有循环就做,那很好,我不明白为什么。

代码:

// Java code to demonstrate the working of 
// contains() method in ArrayList of string 

// for ArrayList functions 
import java.util.ArrayList; 

public class test { 
    public static void main(String[] args) 
    { 

        // creating an Empty String ArrayList 
        ArrayList<String> arr = new ArrayList<String>(4); 
        ArrayList<String> arr2 = new ArrayList<String>(4);

        // using add() to initialize values 
        arr.add("chatbot"); 
        arr.add("robot"); 
        arr.add("bot"); 
        arr.add("lala"); 

        // use contains() to check if the element 
        for (int i=0;i<arr.size();i++){
            boolean ans = arr.get(i).contains("bot"); 
            if (ans) {System.out.println("1: The list contains bot"); }
            else
                {System.out.println("1: The list does not contains bot");}
        }

        System.out.println();

        for (String str : arr) {
        if (str.toLowerCase().contains("bot")) {
            System.out.println("2: The list contains bot");;
        }
        else
            {System.out.println("2: The list does not contains bot");}
        }


        // use contains() to check if the element 
        System.out.println();
        arr2.add("robot");
        boolean ans = arr2.contains("bot"); 

        if (ans) 
            System.out.println("3: The list contains bot"); 
        else
            System.out.println("3: The list does not contains bot"); 
    } 
} 

结果:

1: The list contains bot
1: The list contains bot
1: The list contains bot
1: The list does not contains bot

2: The list contains bot
2: The list contains bot
2: The list contains bot
2: The list does not contains bot

3: The list does not contains bot
Manpreet Singh:

如果只想匹配精确的字符串,请使用.equals而不是.contains:

public static void main(String s[]) {
        test.add("bot");
        test.add("ibot");
        test.add("abot");
        String str = "bot";

        for(int i=0;i<test.size();i++) {
            if(str.equals(test.get(i))) {
                System.out.println("True");
            }
            else {
                System.out.println("False");
            }
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ArrayList如果循环无法正常工作:JAVA

(Java) 我无法遍历我的 arraylist 对象?

ArrayList添加无法在循环外工作

我无法让Java中的阿姆斯特朗编号的for循环正常工作

我无法在 java 中访问我的对象的 arraylist 属性

我的循环无法正常工作(使用feof)

为什么我的List.Contains无法正常工作?

无法让我的while循环按我想要的方式工作

Java TreeSet:remove和contains()无法正常工作

你们可以在Java上检查我的“ for循环”中的ArrayList吗?没有错误,但我似乎无法将数据放入产品Arraylist中

“否”选项在我的“ Do While”循环中无法正常工作

为什么我的每个循环都无法在Unity中工作?

我的 __init__ 中的 For 循环无法按预期工作

我在循环中遇到问题,无法正常工作

使用2 for循环时无法让我的f#工作

Python 3.6.2循环也无法像我想要的那样工作

为什么我的内循环无法正常工作?

为什么我的indexOf和for循环无法正常工作?

While循环在我的程序中无法正常工作

我的应用程序无法正常工作(无限循环)

我无法让 var_dump 在 for 循环中工作

Java:Foreach循环在int数组上无法正常工作?

没有println()语句,Java循环将无法工作

ArraList.forEach for Java 在 while 循环中无法正常工作

Java ArrayList contains 方法

Java ArrayList for循环优化

Java for循环与ArrayList

循环与arrayList bug java

Java中ArrayList的For循环