我想在java中做类似的事情。
String subject=null,receiver=null,subject_db=null,receiver_db=null,cc=null,cc_db=null;
suject=msg.getSubject();
sub_db=rs.getString("subject");
receiver=msg.getreceiver();
receiver_db=rs.getString("receiver");
cc=msg.getcc();
cc_db=rs.getString("cc"); String foldername;
if((subject.equals(sub_db)) && (receiver.equals(receiver_db)) && (cc.equals(cc_db)))
foldername="spam";
else
foldername="Inbox";
正如您在此处所见,任何变量都可以是null
。如果发生这种情况,那么它会抛出NullPointerException。我有什么方法可以做,
String s1=null
和String s2=null
如果我比较if(s1.equals(s2))
,那么它会返回true
...我知道上面的代码无法实现这一目标。但是我该怎么做呢?
如果我没有正确解释我的问题,我真的很抱歉......
我将不胜感激任何帮助..
谢谢..
答案 0 :(得分:4)
怎么样......
private boolean nullsOrEquals(string s1, string s2)
{
if (s1 == null)
return (s2 == null);
return s1.equals(s2);
}
if (nullsOrEquals(subject, sub_db) && [etc])
foldername="spam";
else
foldername="Inbox";
答案 1 :(得分:3)
if((s1 == null && s2 == null) || s1.equals(s2))
答案 2 :(得分:1)
如果我理解你想比较字符串,即使它们是空的。
为此,只需在if语句中添加一个条件,如:
if((string1 == null && string2==null) || string1.equals(s2))
{
//Your code
}