(pass[i]!= null) && (pass[i].getName()!= "nullnull")
< - 当我调试它时返回true,即使我在调试时使用eclipse中的Expressions窗口检查它时pass[i].getName() == "nullnull"
的值
使用输入对话框输入两个名称
String firstName = (String)JOptionPane.showInputDialog("Enter First Name");
String lastName = (String)JOptionPane.showInputDialog("Enter Last Name");
并返回
public String getName()
{
return FirstName + LastName;
}
答案 0 :(得分:5)
您有两个具有相同值的不同字符串,但您可以通过引用对它们进行比较。
您需要通过撰写"nullnull".equals(pass[i].getName())
来比较它们
即使getName()
返回null
,反转顺序仍然有效。
答案 1 :(得分:4)
尝试使用“.equals”
(pass[i]!= null) && !(pass[i].getName().equals("nullnull"))
答案 2 :(得分:2)
我认为你需要
(pass[i]!= null) && (!pass[i].getName().equals("nullnull"))
答案 3 :(得分:1)
不应将字符串与==
或!=
进行比较。
使用String.equals()
。
==
将返回true,!=
仅在两个字符串都是相同的字符串对象时才返回false(与比较它们所代表的文本不同)。
答案 4 :(得分:0)
说实话,它几乎总是如此:
在java中==
运算符比较器对象引用。你想要.equals()
方法。
您的代码存在差距 - 如果getName()
返回null
,它将会爆炸。