我有这个foreach
,它将某个类解析为另一个类:
public static List<MyClassParsed> getMyParsed(List<MyClassResponse> responses) {
List<MyClassParsed> parses = new ArrayList<>();
for (MyClassResponse response : responses) {
var parse = MyClassParsed.builder()
.id(response.getId())
.name(response.getName())
.build();
parses.add(parse);
}
return detalhes;
}
我的意思是,我可以使用类似responses.stream().foreach(...)
这样的东西来完成这件事吗?
您可以使用不同的lambda特性将列表转换为另一个列表:
一行:
List<MyClassParsed> parses = responses.stream().map(response -> MyClassParsed.builder().id(response.getId()).name(response.getName()).build()).collect(Collectors.toList());
方法引用:
public class Mapper {
static MyClassParsed map(MyClassResponse response) {
return MyClassParsed.builder().id(response.getId()).name(response.getName()).build();
}
public void getMyParsed(List<MyClassResponse> responses) {
List<MyClassParsed> parses = responses.stream().map(Mapper::map).collect(Collectors.toList());
}
}
函数实例:
Function<MyClassResponse, MyClassParsed> mapper = response -> MyClassParsed.builder().id(response.getId()).name(response.getName()).build();
List<MyClassParsed> parses = responses.stream().map(mapper).collect(Collectors.toList());
您正在将一个列表转换为从该列表的元素派生的对象列表,因此map
看起来是一个很好的解决方案。
public static List<MyClassParsed> getMyParsed(List<MyClassResponse> responses) {
return responses.stream()
.map(r ->
MyClassParsed
.builder()
.id(r.getId())
.name(r.getName())
.build())
.collect(Collectors.toList());
}
我想知道使用Sequelize执行此请求所要编写的代码:
用户: 而此错误显示为:
我想要一个完整的未来,只发出完成的信号(例如,我没有返回值)。 我可以将CompletableFuture实例化为: 但是我应该向完整的方法提供什么呢?例如,我不能做
我对Elasticsearch非常陌生,目前我正试图让我的头脑围绕着关于的分析器 我有一个类似的地方列表: null 我在今天的大部分时间里一直在玩不同的分析器和设置,但没有成功。 我需要使用什么样的分析器来实现上述?
我需要找到并修复代码块中的所有错误。我已经修复了几个,但是我不知道如何定位其余的或者从哪里开始。 代码图像
我想封装一个通用的 get 函数: 其中 param 是必选的 url 参数,query 是可选的查询参数,data 指定 api 的返回类型,我希望能够这样使用 get 函数: 这是我现在写的: 现在可以在 param 为 never 时省略第二个参数,但是 param 不是 never 时省略第二个参数没有错误提示。我应该如何改进我的代码?