优化一下 String.valueOf(deptInfo.stream().filter(e -> String.valueOf(e.get("orgId")).equals(qybm)).map(e -> e.get("id")).findFirst().get())
时间: 2024-05-07 20:23:01 浏览: 176
String 优化
可以使用 Optional 的 orElseThrow 方法,避免直接调用 get() 方法可能引发的 NoSuchElementException 异常。
具体代码如下:
```
deptInfo.stream()
.filter(e -> String.valueOf(e.get("orgId")).equals(qybm))
.map(e -> e.get("id"))
.findFirst()
.map(String::valueOf)
.orElseThrow(() -> new NoSuchElementException("未找到对应的部门信息"));
```
以上代码将首先筛选出 orgId 等于 qybm 的元素,并将它们的 id 属性映射为一个 Stream,然后在这个 Stream 上调用 findFirst() 方法,返回一个 Optional 类型的对象。接下来,我们可以利用 Optional 提供的方法进一步处理这个结果。在这里,我们使用 map() 方法将 id 属性的值转换为字符串类型,然后使用 orElseThrow() 方法,如果 Optional 对象为空则抛出 NoSuchElementException 异常。
阅读全文