Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较两个字符串返回值始终为false_Java_String - Fatal编程技术网

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

Java 比较两个字符串返回值始终为false,java,string,Java,String,我有两个变量,当我 system.out.println(var1+" && "+var2) 我发现这个:var1&&var2 带引号的var1和不带引号的var2,这就是为什么我发现总是错误的 我该怎么办呢?首先,您应该检查这些变量中的值是否正确,以及所需的值 如果正确,则要删除引号,可以使用以下方法将所有双引号替换为空引号: var1.replace("\"", ""); 注意,这里您应该转义双引号\ 注意:此答案假设您使用Stringequals正确比较字符串 不会编

我有两个变量,当我

system.out.println(var1+"  && "+var2)
我发现这个:var1&&var2

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

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

如果正确,则要删除引号,可以使用以下方法将所有双引号替换为空引号:

var1.replace("\"", "");
注意,这里您应该转义双引号\

注意:此答案假设您使用Stringequals正确比较字符串

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

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

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

对于字符串实例,可以使用一个附加的equalsIgnoreCase方法

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

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

如果它们是基本体,则需要使用“==”运算符

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

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

will do the技巧

这些值从何而来?你必须提供更多关于这两个变量的信息。你想做什么?你连接了3个字符串,这里没有返回true或false的表达式…代码中的比较在哪里?我想你可以,但我不明白为什么一个字符串中有双精度引号和另一个不带??这与如何填充变量var1和var2有关。如果你发布这部分代码,我们可以告诉你。数据来自excel文件。当我放置另一个文件时,它可以完美地工作,没有方法替换,但使用相同的文件,我应该使用你给它的方法,可能excel有一些其他类型的单元格。我对Excel不太了解,但我看到一些单元格可以被赋予特殊的格式。
    String intint = "INT";
    String gouc = "GOUc";
    String fg2a = "FG2c";
    String fg2c = "FG2c";
    String goua = "GOUa";
    affichageBroadInfos(broadInfos);

    Iterator<RncBroadInfo> iter = broadInfos.iterator();
    while (iter.hasNext()) {
        RncBroadInfo str = iter.next();
    //    if (!(str.getBroadClass().equals("INT"))) { this return false

        if (!(str.getBroadClass().replace("\"", "").equals(intint))) {

            System.out.println("ToComprare Twoe Strings " + str.getBroadClass().replace("\"", "") + " && " + intint);
            System.out.println("To Remove Interface" + str.toString());
            System.out.println("type var 1" + str.getBroadClass().getClass());
            System.out.println("type var 2" + intint.getClass());
            System.out.println("result of Comparision " + str.getBroadClass().equals(intint));

            iter.remove();
        }
    }
System.out.println(var1&&var2);
    String intint = "INT";
    String gouc = "GOUc";
    String fg2a = "FG2c";
    String fg2c = "FG2c";
    String goua = "GOUa";
    affichageBroadInfos(broadInfos);

    Iterator<RncBroadInfo> iter = broadInfos.iterator();
    while (iter.hasNext()) {
        RncBroadInfo str = iter.next();
    //    if (!(str.getBroadClass().equals("INT"))) { this return false

        if (!(str.getBroadClass().replace("\"", "").equals(intint))) {

            System.out.println("ToComprare Twoe Strings " + str.getBroadClass().replace("\"", "") + " && " + intint);
            System.out.println("To Remove Interface" + str.toString());
            System.out.println("type var 1" + str.getBroadClass().getClass());
            System.out.println("type var 2" + intint.getClass());
            System.out.println("result of Comparision " + str.getBroadClass().equals(intint));

            iter.remove();
        }
    }