首页 > 解决方案 > 如何检查列表字符串变量的元素

问题描述

我想通过列表编写一个简单的系统,它将识别符号并对列表中的一些符号进行一些计算,并判断是否有任何错误。

它看起来像这样:

private static List<String> list = new ArrayList<>();
private static void splitToList(String string){

    list.addAll(Arrays.asList("((35+6-(4+4))=0;".split("")));
    chekList(list);
}
private static void chekList (List list){
    int open = 0;
    int close =0;

    for (int i=0;i<list.size();i++) {
       System.out.println(list.get(i));
        if (list.get(i) == "(") {
            open++;
            System.out.println(open);
        }
        if (list.get(i) == ")") {
            close++;
            System.out.println(close);
        }

    }
    if (open != close){
        System.out.println("false!");
        br = true;
    }

}

因此,用于识别列表元素中的“(”和“)”的 if 语句的问题无论如何都不起作用。有什么方法可以检查我的列表元素是否为“(”或“)”?

这是完整的 IDE 输出。没有任何“打开”和“关闭”结果。

这是完整的 IDE 输出

标签: javalistarraylist

解决方案


==测试引用相等性(它们是否是同一个对象)。

您需要使用")".equals(list.get(i))来测试值是否相等(它们在逻辑上是否“相等”)。


推荐阅读