如何过滤HashMap并打印混合键值格式的指定Map对象?
Solution for Modified Response Formatting
我帮你调整了代码逻辑,来实现你需要的输出格式——ID后用制表符分隔,后续是key=value形式的键值对列表。这里是修改后的方法:
public String myCustomFormat(Response response, String[] selectedFeature) { // 处理选中的feature,转换为key=value格式的字符串 String featurePairs = Arrays.stream(selectedFeature) .map(f -> { Object value = response.getFeature().get(f); String valueStr = value == null ? "" : value.toString(); return f + "=" + valueStr; }) .collect(Collectors.joining(",")); // 用制表符连接ID和键值对列表 return response.getId() + "\t" + featurePairs; }
代码说明:
- 键值对转换:遍历
selectedFeature中的每个键,获取对应的value后拼接成key=value格式的字符串,同时处理value为null的情况(替换为空字符串)。 - 拼接结果:将Response的ID和处理好的键值对列表用制表符(
\t)连接,直接返回最终字符串。
输出示例:
假设response.getId()为id1,selectedFeature为["feature1", "feature3", "feature4"],对应的value分别为feature1Value、feature3Value、feature4Value,输出结果为:
id1 feature1=feature1Value,feature3=feature3Value,feature4=feature4Value
内容的提问来源于stack exchange,提问作者TechDan
相关产品推荐
相关产品推荐

