java - 转换条目> 进入
问题描述
我正在尝试将标题名称及其第一个值作为条目存储到列表中。我不确定如何实现这一目标。
HttpHeaders headerNames = request.getHeaders();
List<Entry<String, String>> reqHeaders = new ArrayList<>();
for (Entry<String, List<String>> entry : headerNames.entrySet()) {
reqHeaders.add(entry.getKey(), entry.getValue().get(0)); //This line is incorrect
}
解决方案
从Java 9 开始,有一个新的实用方法允许创建一个不可变的条目,即Map#entry(Object, Object)
.
for (Map.Entry<String, List<String>> entry : headerNames.entrySet()) {
reqHeaders.add(Map.entry(entry.getKey(), entry.getValue().get(0)));
}
在Java 9之前,您可以使用AbstractMap.SimpleImmutableEntry
或AbstractMap.SimpleEntry
for (Map.Entry<String, List<String>> entry : headerNames.entrySet()) {
reqHeaders.add(new SimpleImmutableEntry<>(entry.getKey(), entry.getValue().get(0))); // immutable
reqHeaders.add(new SimpleEntry<>(entry.getKey(), entry.getValue().get(0))); // mutable version
}
推荐阅读
- c++ - 在 C++ 中调用构造函数的正确方法是什么?
- amazon-web-services - 将 Maven 开发项目迁移到 AWS Code Pipeline 的最佳方法
- intellij-idea - Intellij IDEA - 显示 2 个空格缩进为 4 个空格
- maven - Servicemix 无法启动
- python - 根据结构导航dict
- apache-nifi - Nifi:按内容过滤流文件
- android - 如何以编程方式使用android获取移动网络为4g+?
- r - knnx.index() 函数返回 Data:non-numeric in r on r shiny webapp
- sql - 选择 dateadd(ms, CAST (3471725580 AS BIGINT), '1970-01-01 00:00:00.0') 错误
- php - 在 elasticsearch php 客户端 [query_string] 中使用 query_string 和 range 格式错误的查询,应为 [END_OBJECT] 但找到 [FIELD_NAME]