为什么这个表达式返回true

dav*_*ave 0 java string expression

(pass[i]!= null) && (pass[i].getName()!= "nullnull")< - 当我调试它时返回true,即使我在调试pass[i].getName() == "nullnull"时使用eclipse中的Expressions窗口检查它时的值

我使用输入对话框输入两个名字

String firstName = (String)JOptionPane.showInputDialog("Enter First Name");
String lastName = (String)JOptionPane.showInputDialog("Enter Last Name");
Run Code Online (Sandbox Code Playgroud)

并返回

public String getName()
    {
        return FirstName + LastName;
    }
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 5

您有两个具有相同值的不同字符串,但您可以通过引用对它们进行比较.

你需要通过写作来比较它们"nullnull".equals(pass[i].getName()).
即使getName()退货,逆转的订单也会有效null.