Optional常用操作

    @Test
    public void test7() {
        String onlineShopId = "";
//        Assert.isNull(onlineShopId, "online shop id could not be null");
        User user = new User();
        String s = Optional.ofNullable(user).map(User::getUsername).orElse(null);
        Integer integer = Optional.ofNullable(user).map(User::getAge).orElse(2);
//        Integer integer2 = Optional.ofNullable(user).map(User::getAge).orElseThrow(() -> new IllegalArgumentException("参数异常"));
        System.out.println(s + "/" + integer);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 8 引入了一个 Optional 类,它是一个容器对象,用于包装可能为 null 的值。Optional 对象可以包含一个非空的值,也可以为空。Optional 的使用可以避免代码中的 NullPointerException 异常。 Optional 类的主要方法包括: 1. of:创建一个包含指定非空值的 Optional 对象。 ```java Optional<String> optional = Optional.of("hello"); ``` 2. ofNullable:创建一个包含指定值的 Optional 对象,如果指定值为 null,则返回一个空的 Optional 对象。 ```java Optional<String> optional1 = Optional.ofNullable(null); Optional<String> optional2 = Optional.ofNullable("world"); ``` 3. isPresent:判断 Optional 对象是否包含非空值。 ```java boolean present1 = optional1.isPresent(); // false boolean present2 = optional2.isPresent(); // true ``` 4. get:获取 Optional 对象中的值,如果 Optional 对象为空,则抛出 NoSuchElementException 异常。 ```java String value = optional2.get(); // "world" ``` 5. orElse:获取 Optional 对象中的值,如果 Optional 对象为空,则返回指定的默认值。 ```java String defaultValue = "default"; String value1 = optional1.orElse(defaultValue); // "default" String value2 = optional2.orElse(defaultValue); // "world" ``` 6. orElseGet:获取 Optional 对象中的值,如果 Optional 对象为空,则调用指定的 Supplier 函数获取默认值。 ```java Supplier<String> supplier = () -> "default"; String value1 = optional1.orElseGet(supplier); // "default" String value2 = optional2.orElseGet(supplier); // "world" ``` 7. map:对 Optional 对象中的值进行映射操作,返回一个新的 Optional 对象。 ```java Optional<String> upperCaseOptional = optional2.map(String::toUpperCase); ``` 8. filter:对 Optional 对象中的值进行过滤操作,返回一个新的 Optional 对象。 ```java Optional<String> filteredOptional = optional2.filter(s -> s.length() > 5); ``` 以上就是 Optional 类的常用方法。通过使用 Optional,我们可以更加优雅地处理可能为 null 的值,避免了代码中的 NullPointerException 异常,同时也提高了代码的可读性和健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值