我有两个变量,当我做
时system.out.println(var1+" && "+var2)
我发现了这个:“var1”&& VAR2
带引号的var1和带引号的var2所以这就是为什么我发现总是假的 我该怎么办?
答案 0 :(得分:1)
system.out.println(var1+" && "+var2)
不会编译,更不用说返回或导致值。
&安培;&安培;不能用于比较,它用于实现逻辑AND。
如果要比较对象,则需要使用'=='运算符进行参照比较,或者如果要比较值,则需要使用equals方法。
对于String实例,您可以使用另外的equalsIgnoreCase方法。
所以:如果var1和var2是对象,你可以试试这个:
System.out.println((var1 == var2)); // compare references
和
System.out.println(var1.equals(var2)); // compare values
如果它们是原语,则需要使用'=='运算符
如果他们是您想要检查的布尔值:
System.out.println(var1&&var2);
会做的伎俩
答案 1 :(得分:0)
首先,您应该检查您在这些变量中获得的值是否正确以及所需的值。
如果它们是正确的,那么,要删除引号,您可以使用String#replace
方法将所有双引号替换为空:
var1.replace("\"", "");
请注意,您应该在此处转义双引号\"
。
注意:此答案假设您正在比较字符串(使用String#equals
)。
答案 2 :(得分:0)
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();
}
}