用双打测试平等

时间:2016-10-20 15:31:04

标签: java null compare double equals

在Java中,大写Double可以为null。

但是,如果我有双打ab并且我这样做:

if (a.equals(b))

如果其中一个为空,它就会崩溃。有没有更好的方法来比较它们?

4 个答案:

答案 0 :(得分:2)

Java 7+中最简单的方法是:

Objects.equals(a, b)

如果您使用的是早期版本的Java,则可以使用条件运算符:

(a != null) ? a.equals(b) : (b == null)

答案 1 :(得分:0)

这是正确的,遗憾的是你必须添加额外的空值检查。 所以你要么必须写

if ((a != null && a.equals(b)) || (a == null && b == null))

或您的代码不得接受null值。

答案 2 :(得分:0)

简短的方法可能是:

boolean c = (a != null && b != null) ? a.equals(b) : false;
if (c){
   ...
}

答案 3 :(得分:-1)

使用

if (null != a && null != b && a.compareTo(b) == 0) {
    // whatever goes here
}