如果语句不能识别字符串

时间:2013-05-31 16:59:42

标签: java string if-statement

我有一个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时它什么都不做。我不知道为什么。

感谢

1 个答案:

答案 0 :(得分:3)

永远不要将字符串与==!=进行比较,因为这些检查是否有两个String变量引用相同的对象引用,这不是您感兴趣的内容。而是使用{{ 1}}或equals(...)方法来查看两个字符串是否具有相同的字符,而这正是真正重要的。即,

使用equals比较字符串:

equalsIgnoreCase(...)