listInfo.stream().filter() 过滤字段空值
时间: 2023-10-12 10:11:33 浏览: 131
可以使用 Java 8 中的 `filter` 方法来过滤字段空值。假设 `listInfo` 是一个包含了对象的列表,每个对象中都有一个名为 `field` 的字段,你可以使用如下代码来过滤掉 `field` 为空的对象:
```
listInfo = listInfo.stream()
.filter(obj -> obj.getField() != null && !obj.getField().isEmpty())
.collect(Collectors.toList());
```
这个代码中,`filter` 方法会接受一个 lambda 表达式,这个表达式会对每个对象进行判断,如果 `field` 不为空则返回 `true`,否则返回 `false`。最后使用 `collect` 方法将过滤后的结果收集到一个新的列表中。
相关问题
listInfo.stream().filter() 过滤空值
可以使用 Java 8 中的 Optional 类来过滤空值。示例如下:
```
listInfo.stream()
.filter(info -> Optional.ofNullable(info).isPresent())
.forEach(System.out::println);
```
或者直接使用 `Objects::nonNull` 方法来进行过滤:
```
listInfo.stream()
.filter(Objects::nonNull)
.forEach(System.out::println);
```
这样可以过滤掉集合中的空值。
phpcms v9模型查询 用listinfo方法如何返回指定的字段数据?
在 PHPCMS v9 的模型中,可以使用 `$this->listinfo()` 方法来查询数据,并通过传递参数来指定要返回的字段。具体方法如下:
```php
// 查询字段
$fields = '字段1,字段2,字段3';
// 查询条件
$where = array('字段' => '值');
// 排序方式
$order = '字段 ASC';
// 分页参数
$page = 1;
$pagesize = 10;
// 查询数据
$data = $this->listinfo($where, $order, $page, $pagesize, $fields);
// 返回指定的字段
$result = array_column($data, '字段1', '字段2');
```
其中,`$fields` 是要查询的字段,多个字段之间用英文逗号分隔;`$where` 是查询条件;`$order` 是排序方式;`$page` 是当前页数;`$pagesize` 是每页显示的数量。在执行查询操作时,通过传递 `$fields` 参数来指定要返回的字段,然后使用 `array_column()` 函数返回指定的字段。
需要注意的是,`$this->listinfo()` 方法默认返回整个数组,如果要返回指定的字段,则需要在模型类的 `init()` 方法中设置 `$this->listorder` 属性为要返回的字段,例如:
```php
class 模型类名称 extends model {
public function init() {
$this->listorder = '字段1,字段2,字段3';
}
}
```
这样,在使用 `$this->listinfo()` 方法时,就会返回指定的字段了。
阅读全文
相关推荐

















