我有一个if语句,它接受一个字符串,如果另一个字符串与该字符串具有相同的值,则执行1个操作,如果该变量不等于该字符串,则执行另一个字符串
这是我的代码
if(Pos != "D"){
System.out.println("doesnt = D");
}
if (Pos == "D" ){//WHY ISNT THIS WORKING
System.out.println("it does = D");
}
它识别变量dont = D并打印“doesnt = d”但是当变量= D时它什么都不做。我不知道为什么。
感谢
答案 0 :(得分:3)
永远不要将字符串与==
或!=
进行比较,因为这些检查是否有两个String变量引用相同的对象引用,这不是您感兴趣的内容。而是使用{{ 1}}或equals(...)
方法来查看两个字符串是否具有相同的字符,而这正是真正重要的。即,
使用equals比较字符串:
equalsIgnoreCase(...)