我有以下流:
@H_403_2@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简单得多:
@H_403_2@T result = stream.filter(t -> {
double x = getX(t);
double y = getY(t);
return (x == tx && y == ty);
}).findFirst().orElse(null);
return result;