java可选:如何用类处理null

5m1hhzi4  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(238)

我正在尝试与期权,我很肯定我的解决方案是不好的。我在下面放了一点样品。

class Person {
    String name;    // can be null
    Integer age;    // can be null
}

class DB {
    // returns an Optional
    public static Optional<Person> getPerson() {
        //irrelevant code here
    }
}

public static void main() {
    Person p = DB.getPerson().orElse(null);

    // did I get a Person?
    if (p != null) {
        // both information of a Person available?
        if (p.name != null && p.age != null) {
            dosomthing (p.name, p.age);
        }
    }
}

你知道怎么改进吗?我认为在这里没有好处,使用期权。但我不负责这个人。

l7mqbcuq

l7mqbcuq1#

那么像这样使用optional呢;

DB.getPerson()
        .filter(p -> p.name != null && p.age != null)
        .ifPresent(p -> dosomthing(p.name, p.age));

我猜你在用 Optional::ofNullablegetPerson()

相关问题