-1

我有一个带有字符串的 if 语句,如果另一个字符串与该字符串具有相同的值,则执行 1 件事,如果变量不等于该字符串,则执行另一件事

这是我的代码

if(Pos != "D"){
                System.out.println("doesnt = D");
            }

 if (Pos == "D" ){//WHY ISNT THIS WORKING
                System.out.println("it does = D");
                    }

它识别何时变量不 = D 并打印“doesnt = d”,但当变量 = D 时它什么也不做。我不知道为什么。

谢谢

4

1 回答 1

3

永远不要将字符串与==or进行比较,!=因为它们会检查两个字符串变量是否引用相同的对象引用,这不是您感兴趣的。而是使用equals(...)orequalsIgnoreCase(...)方法来查看两个字符串是否具有相同的字符顺序,因为这才是这里真正重要的。IE,

使用equals比较字符串:

if ("D".equals(Pos))
于 2013-05-31T17:00:26.507 回答