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();
}
}