@RequestMapping(value = "/find/pks",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<User>> getUsers(@RequestBody final Collection<String> pks)
{
return StreamSupport.stream(userRepository.findAll(pks).spliterator(), false)
.map(list -> new ResponseEntity<>(list , HttpStatus.OK))
.orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND));
}
Iterable<T> findAll(Iterable<PK> pks);
你把两件事弄混了。第一个任务是将iterable
转换为集合
,您确实可以使用stream
API解决该问题:
Collection<User> list=
StreamSupport.stream(userRepository.findAll(pks).spliterator(), false)
.collect(Collectors.toList());
请注意,此流是user
的流,而不是列表流。因此,您不能将list
映射到具有此流的其他内容。map
操作将把流的每个元素映射到一个新元素。
则可以使用此列表创建responseEntity
return list.isEmpty()? new ResponseEntity<>(HttpStatus.NOT_FOUND):
new ResponseEntity<>(list, HttpStatus.OK);
ResponseEntity<User> responseEntity=
StreamSupport.stream(userRepository.findAll(pks).spliterator(), false)
.collect(Collectors.collectingAndThen(Collectors.toList(),
list -> list.isEmpty()? new ResponseEntity<>(HttpStatus.NOT_FOUND):
new ResponseEntity<>(list, HttpStatus.OK) ));
问题内容: 我要实现以下功能: 如何检查向量元素类型? 请注意, 向量可能为空,因此我无法检查第一个元素是“ instanceof”整数还是String … 编辑: 好吧,我脑子里有个念头,我不知道它是否会起作用 我可以按以下方式实现checkType函数: 是否可以检查T是否为整数?! 提前致谢 问题答案: *由于 类型擦除, *泛型类型参数 在运行时不可恢复(某些特殊情况除外)。这意味着在运行
那么如何在HQL中检查集合是否为空?简单的例子: 如果标题是一个变量,我可以 但是如果标题是一个列表/集合呢? 如果标题是列表,这将不起作用。经过激烈的搜索,我尝试了是空的、大小的和存在的函数,我还尝试了(: title)是空选项。 以上都不起作用。我知道有一种硬编码方式,根据标题列表的状态编写不同的查询,如果为空,则一个查询,如果为空,则另一个查询。但这将产生许多类似的HQL查询,只需稍作修改。
问题内容: 有没有一种方法可以检查nodestore的firestore中是否存在子集合? 目前,我正在使用文档,但是我需要检查文档中是否存在子类以便写入一些数据。 问题答案: 就在这里。您可以使用docs.length来知道子集合是否存在。 我制作了一个样本来指导您,希望对您有所帮助。
我有一个具有如下结构的集合对象: 我该怎么办?非常感谢,很抱歉我的英语不好!
问题内容: 将为空或以逗号分隔的列表(或单个值)。检查它是否为空的最简单方法是什么?我假设只要将数组提取到?中就可以这样做。在这种情况下,跳过展开是否为空可能会更有效,但是出于参数的考虑,我将如何检查数组是否也为空? 问题答案: 如果只需要检查数组中是否有任何元素 如果您需要在检查之前清除空值(通常是为了防止产生奇怪的字符串):
问题内容: 我正在使用以下脚本读取目录。如果目录中没有文件,则应说空。问题是,即使里面有ARE文件,它总是说目录是空的,反之亦然。 问题答案: 似乎您需要的不是glob,因为glob无法看到Unix隐藏文件。 请注意,这段代码并不是效率的最高峰,因为不必仅知道目录是否为空就读取所有文件。因此,更好的版本是 顺便说一句,不要使用 单词 来代替 布尔 值。后者的目的是告诉您是否有空。一个 表达式已经返