gpt4 book ai didi

java - 使用 Map 的方法 "getOrDefault()"

转载 作者:行者123 更新时间:2023-12-01 19:55:53 24 4
gpt4 key购买 nike

我想在从一个页面重定向到另一个页面时获取 flashAttribute 并将其设置为模型。我尝试使用这段代码:

Map<String, ?> map = RequestContextUtils.getInputFlashMap(request);
if (map != null) {
// this is redirect
model.addAttribute("attr", map.getOrDefault("attr", false));
}

我有一个错误:

The method getOrDefault(Object, capture#3-of ?) in the type Map is not applicable for the arguments (String, boolean)

如何使用 getOrDefault("attr", false) 方法解决此问题?

最佳答案

您需要对 map 进行未经检查的转换:

Map<String, Object> map =
(Map<String, Object>) RequestContextUtils.getInputFlashMap(request);

返回的 map 类型中的通配符比较错误,应该是Map<String, Object> .

在这两种情况下,get(K)返回Object ,但通配符禁止 ? 的方法键入作为参数,例如 Vput(K, V) ,这可能会污染 map 内容的类型正确性。

问题是这也会影响 getOrDefault(K, V) 等方法,这实际上并不修改 map 。

关于java - 使用 Map 的方法 "getOrDefault()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089034/

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