有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

比较两个字符串返回值始终为false

我有两个变量,当我

system.out.println(var1+"  && "+var2)

我发现了这个:“var1”&&;var2

带引号的var1和不带引号的var2,这就是为什么我发现总是错误的 我该怎么办


共 (2) 个答案

  1. # 1 楼答案

    system.out.println(var1+"  && "+var2)
    

    不会编译,更不用说返回或生成值了

    &&;不能用于比较,它用于实现逻辑AND

    如果要比较对象,需要使用“==”运算符进行引用比较,如果要比较值,则需要使用equals方法

    对于字符串实例,可以使用另外一个equalsIgnoreCase方法

    所以:如果var1和var2是对象,您可以尝试以下方法:

    System.out.println((var1 == var2)); // compare references
    

    System.out.println(var1.equals(var2)); // compare values
    

    如果它们是原语,则需要使用“==”运算符

    如果他们是布尔人,你要检查:

    System.out.println(var1&&var2);
    

    会成功的

  2. # 2 楼答案

    首先,您应该检查这些变量中的值是否正确,以及所需的值

    如果它们是正确的,那么要删除引号,可以使用^{}方法将所有双引号替换为空引号:

    var1.replace("\"", "");
    

    注意,这里应该转义双引号\"

    注意:这个答案假设您正确地比较了字符串(使用^{