[英]ImmutableMap and Map are incompatible?
我正在按照本教程進行操作,以嘗試向基於我的dropwizard的API添加身份驗證。
我遇到的一個問題是,該教程到了我們需要編寫一個Authenticator類的地步,並使用以下代碼:
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>
現在,我意識到它們是不同的類型,並且我以前使用過地圖,但是ImmutableMaps對我來說是新領域,因此我有點依賴於本教程中的這段代碼。
如果有人能讓我知道如何修復它,那就太好了,而且如果您能解釋為什么它也損壞了,那就更好了! 謝謝!
在這種情況下<String, ImmutableSet<String>>
ImmutableMap.of
將推斷<String, ImmutableSet<String>>
泛型類型參數。 您可能必須明確指定args類型:
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")
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.