Optional<T>

/**
     * 多级取值
     *
     * @param user
     * @return
     */
    public static String getAddress(UserEntity user) {
        if (user != null) {
            AddressEntity addressEntity = user.getAddressEntity();
            if (addressEntity != null) {
                String address = addressEntity.getAddress();
                if (address != null && address.length() > 3) {
                    return address;
                }
 
            }
        }
 
        return null;
    }
 
    public static String getAddressOptional(UserEntity user) {
        return Optional.ofNullable(user)
                .map(u -> u.getAddressEntity())
                .map(a -> a.getAddress())
                .filter(s -> s.length() > 3)
                .orElse(null);
    }

转载:https://www.cnblogs.com/zhenghengbin/p/9499073.html

原文地址:https://www.cnblogs.com/hanjun0612/p/12844444.html