您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 3浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java】‘OptionalInt.getAsInt()‘ without ‘isPresent()‘ check 的解决方法

星拱北辰 发布时间:2022-08-05 11:12:10 ,浏览量:3

如下图所示,代码被IDEA提示‘OptionalInt.getAsInt()’ without ‘isPresent()’ check:

在这里插入图片描述

可以用下面的代码验证:

public static void main(String[] args) {
    IntStream stream = IntStream.builder().build();
    System.out.println("最大值:" + (stream.max().getAsInt()));
}

在IntStream里没有内容的情况下,getAsInt()引发了空指针异常。

在这里插入图片描述

intStream.max()返回值类型是java.util.OptionalInt,用于解决空指针异常问题。

用orElse()替代getAsInt(),可以解决该问题。

public static void main(String[] args) {
    IntStream stream = IntStream.builder().build();
    System.out.println("最大值:" + (stream.max().orElse(0)));
}

在这里插入图片描述

值得一提的是,解决问题之余,也要思考实际意义。比如,如果没有数值,其最大值设置为默认0是否合理?

关注
打赏
1660750074
查看更多评论
立即登录/注册

微信扫码登录

0.0887s