相关疑难解决方法(0)

Java:在equals检查中避免NullPointerException的干净方法

我有一个地址对象,我想为其创建一个equals方法.我可以通过做类似下面的事情(缩短一点)使这变得非常简单:

public boolean equals(Object obj) 
{
    if (this == obj)
        return true;

    if (obj == null)
        return false;

    if (getClass() != obj.getClass())
        return false;

    Address other = (Address) obj;

    return this.getStreet().equals(other.getStreet())
        && this.getStreetNumber().equals(other.getStreetNumber())
        && this.getStreetLetter().equals(other.getStreetLetter())
        && this.getTown().equals(other.getTown());
}
Run Code Online (Sandbox Code Playgroud)

问题是,其中一些可能是空的.换句话说,NullPointerException如果此地址中没有街道信件,我会得到一个.

如何在考虑空值的情况下以干净的方式编写此文件?

java coding-style equals nullpointerexception

20
推荐指数
3
解决办法
2万
查看次数

什么在java中会更有效率?If-return-else或If-return?

我只是想知道,编译器使用什么实际上更有效

if (condition) {
    return something;
} else {
    dosomething();      
}
Run Code Online (Sandbox Code Playgroud)

要么

if (condition) {
    return something;
}
dosomething();
Run Code Online (Sandbox Code Playgroud)

我知道这些是非常低的差异,应该选择更易读的版本,但是我们只能说我们将执行这个代码十亿次,哪一个会更有效?

我也知道在"现实世界"中根本没有任何收获,但我只是好奇.

java performance

1
推荐指数
1
解决办法
464
查看次数