Avatar ·

如何在Java中避免null检查:最佳实践与替代方案

大家好!我是一名Java初学者,有一个问题一直困扰着我。我的代码中总是需要写null检查,看起来非常糟糕。例如,我有一个方法从数据库获取User对象,如果它不为null,我想获取它的名字。但如果对象为null,程序就会抛出NullPointerException。以下是我目前的写法:
public String getUserName(User user) {
    if (user != null) {
        return user.getName();
    }
    return "Unknown";
}
然后,当我需要从嵌套对象中获取名字时,情况变得更糟:
public String getCityName(User user) {
    if (user != null) {
        Address address = user.getAddress();
        if (address != null) {
            City city = address.getCity();
            if (city != null) {
                return city.getName();
            }
        }
    }
    return "Unknown";
}
这简直是噩梦!代码变得难以阅读,而且