Possible Duplicate:
How do I compare strings in Java?
我有以下代码:
System.out.println(staff.getEmail().length());
System.out.println(staff.getEmailList());
if ((staff.getEmail().length() > 0) && (staff.getEmailList() == "Y")) {
System.out.println(staff.getEmail());
12
Y
最佳答案
对于Java中的字符串相等性,应使用String.equals()
而不是operator ==。staff.getEmailList() == "Y"
应转换为"Y".equals(staff.getEmailList())
原因是operator==
检查身份。如果两个操作数是相同的对象(引用相同的对象),则equals()
检查是否相等-两个操作数是否相等。
关于java - Java中怪异的if-then行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13860496/