我在if else block中比较两个字符串..如果 if 块应该执行,如果它是false else 块应该执行..但是代码总是执行 else 阻止true和&错误的条件......还有我的代码
if(deckey==keystr)
{
.
.
}
else
{
System.out.println("your unauthorised person");
System.exit(0);
}
我的deckey包含字符串值abc123,对于keystr我从这里得到的值也是abc123(我正在通过arraylist)..
ArrayList<Integer> listfkey= new ArrayList<Integer>();
String keystr=" ";
for (int i = 0; i < listfkey.size(); i++) {
dech=(char)listfkey.get(i).intValue();
keystr+=dech;
}
请帮帮我..
答案 0 :(得分:3)
需要使用.equals
方法测试字符串是否相等:
deckey.equals(keystr)
不是==
运算符,它测试两个字符串实例是否相同:
deckey==keystr
答案 1 :(得分:0)
equals
方法或Comparator
界面
答案 2 :(得分:0)
==用于比较内存位置,它将适用于某些原始数据
String是object,所以为了比较它我们需要使用.equals()方法 它来自比较者