Java 8 Optional

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2026年2月3日 (二) 13:40的版本 (建立内容为“<syntaxhighlight lang="java"> public class OptionalTest { private User getUser() { return null; } @Test public void test1() { U…”的新页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
public class OptionalTest {

    private User getUser() {
        return null;
    }

    @Test
    public void test1() {

        User user = getUser();

        String city = "未知";

        if (user!=null) {
            Address address = user.getAddress();
            if (address!=null) {
                city = address.getCity();
            }
        }

    }

    @Test
    public void test2() {
        Optional<User> optionalUser = Optional.ofNullable(getUser());

        String city = optionalUser
                .map(User::getAddress)
                .map(Address::getCity)
                .orElse("未知");

    }

}