Set<Integer> titles = newsLs.stream().map(GoodNewsAccount::getAccountCount).filter(StringUtils::isNotBlank).collect(Collectors.toSet()); Condition.expectTrue(!CollectionUtils.isEmpty(titles), BizErrorEnum.ERROR_500002); 将filter后面的表达式换成判断integer
时间: 2024-03-12 12:45:31 浏览: 72
可以将filter后面的表达式改为以下形式:
```
.filter(count -> count != null && count > 0)
```
这样可以保证只有当 `count` 不为 null 且大于 0 时才会被保留在集合中。完整代码如下:
```
Set<Integer> titles = newsLs.stream()
.map(GoodNewsAccount::getAccountCount)
.filter(count -> count != null && count > 0)
.collect(Collectors.toSet());
Condition.expectTrue(!CollectionUtils.isEmpty(titles), BizErrorEnum.ERROR_500002);
```
相关问题
ctx.Titles->empires = std::list<LPEMPIRE>();报错是怎么回事
这个错误是因为在你的代码中,`ctx.Titles` 不是一个指针类型,无法使用箭头操作符来访问其成员。相反,您应该使用点操作符来访问 `ctx` 对象的成员,例如 `ctx.Titles.empires`。
另外,如果 `std::list<LPEMPIRE>()` 是一个有效的 `LPEMPIRE` 对象列表,则您可以直接将其分配给 `ctx.Titles.empires`,而不需要使用 `std::list<LPEMPIRE>` 的构造函数。例如:
```
ctx.Titles.empires = {empire1, empire2, empire3};
```
或者,如果您想清空 `ctx.Titles.empires` 列表并重新创建一个空列表,则可以使用以下代码:
```
ctx.Titles.empires = std::list<LPEMPIRE>{};
```
ArrayList<MineGridBean>datalist = initData(imgSrcs,titles);
这行代码是用于初始化一个`ArrayList`类型的`datalist`变量,并将其赋值为`initDataSrcs, titles)`的返回值。
`initData(imgSrcs, titles)`是一个方法调用,它接收两个参数:`imgSrcs`和`titles`。这个方法的目的是根据传入的图片资源和标题数据,生成一个包含`MineGridBean`对象的列表。
具体实现可能类似于以下代码:
```java
private ArrayList<MineGridBean> initData(ArrayList<String> imgSrcs, ArrayList<String> titles) {
ArrayList<MineGridBean> dataList = new ArrayList<>();
for (int i = 0; i < imgSrcs.size(); i++) {
String imgSrc = imgSrcs.get(i);
String title = titles.get(i);
MineGridBean gridBean = new MineGridBean(imgSrc, title);
dataList.add(gridBean);
}
return dataList;
}
```
上述代码中,通过遍历传入的图片资源和标题数据,创建`MineGridBean`对象,并将其添加到`dataList`列表中。最后,将生成的列表作为方法的返回值返回。
因此,`datalist`变量将包含根据传入的图片资源和标题数据初始化后的`MineGridBean`对象列表。
阅读全文