gpt4 book ai didi

java - 使用 lambda 表达式将 hashmap 保存到 String

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:45 26 4
gpt4 key购买 nike

我试图将以下代码的输出保存在一个名为“output”的字符串变量中。但是,我收到此编译错误“在封闭范围内定义的局部变量输出必须是最终的或有效的最终”。我确实尝试将输出变量声明为最终变量,但出现另一个编译错误“无法分配最终局部变量输出。它必须为空且不使用复合赋值”有什么建议吗?

        String output = "";
map.entrySet().stream().sorted(
Map.Entry.<String, Integer> comparingByValue()
.reversed()
.thenComparing(Map.Entry.comparingByKey()))
.forEach(entry -> {
output += entry.getKey() + " - " + entry.getValue();
});

最佳答案

有一个收集器:joining()

String output = map.entrySet().stream()
.sorted(Map.Entry.<String, Integer> comparingByValue()
.reversed()
.thenComparing(Map.Entry.comparingByKey())
)
.map(entry -> entry.getKey() + " - " + entry.getValue())
.collect(joining());

您还可以添加分隔符:joining(", ")

关于java - 使用 lambda 表达式将 hashmap 保存到 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com