gpt4 book ai didi

java - ImmutableMap 和 Map 不兼容?

转载 作者:行者123 更新时间:2023-12-01 08:54:53 33 4
gpt4 key购买 nike

我正在关注this tutorial为了尝试向我的基于 dropwizard 的 API 添加身份验证。

我遇到一个问题,因为本教程需要编写一个 validator 类,并使用以下代码:

private static final Map<String, Set<String>> VALID_USERS = ImmutableMap.of(
"guest", ImmutableSet.of(),
"user", ImmutableSet.of("USER"),
"admin", ImmutableSet.of("ADMIN", "USER")
);

据我所知,这是一种设置某些角色的方法,以便以后在限制对某些端点的访问时可以使用它们 - 但我在这段代码上遇到了错误:

Incompatible Types

Required : Map <path to Map class here>
Found : ImmutableMap <path to ImmutableMap class here>

现在,我意识到它们是不同的类型,而且我以前使用过 map ,但 ImmutableMaps 对我来说是新领域,所以我有点依赖教程中的这段代码。

如果有人能让我知道如何修复它,那就太棒了,如果你也能解释它为什么坏了,那就更好了!谢谢!

最佳答案

ImmutableMap.of将推断 <String, ImmutableSet<String>> 的泛型类型参数在这种情况下。您可能必须显式指定类型参数:

private static final Map<String, Set<String>> VALID_USERS = ImmutableMap.<String, Set<String>>of(
"guest", ImmutableSet.of(),
"user", ImmutableSet.of("USER"),
"admin", ImmutableSet.of("ADMIN", "USER")
);

关于java - ImmutableMap 和 Map 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42094974/

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