我有以下流:
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;