加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用Stream避免NoSuchElementException

发布时间:2020-12-14 05:02:39 所属栏目:Java 来源:网络整理
导读:我有以下流: StreamT stream = stream();T result = stream.filter(t - { double x = getX(t); double y = getY(t); return (x == tx y == ty);}).findFirst().get();return result; 但是,并不总是有一个结果给我以下错误: NoSuchElementException: No val
我有以下流:
Stream<T> stream = stream();

T result = stream.filter(t -> {
    double x = getX(t);
    double y = getY(t);
    return (x == tx && y == ty);
}).findFirst().get();

return result;

但是,并不总是有一个结果给我以下错误:

NoSuchElementException: No value present

那么如果没有值存在,怎么可以返回一个null?

解决方法

您可以使用 Optional.orElse,它比检查isPresent简单得多:
T result = stream.filter(t -> {
    double x = getX(t);
    double y = getY(t);
    return (x == tx && y == ty);
}).findFirst().orElse(null);

return result;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读