[英]Java cannot resolve symbol 'Maps'
我正在嘗試使用 java 中的 gson 和 guava 庫來獲取兩個 JSON 文件之間的差異。
我收到錯誤消息:“無法解析符號‘地圖’。我的 InteliJ 安裝文件夾中的 lib 文件夾中有番石榴庫 jar 文件,pom.xml 文件中的依賴項如下所示:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
創建 diff 的函數如下所示
public static Map<String, Object> newCompare(JsonElement original, JsonElement output){
Type type = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> leftMap = gson.fromJson(original, type);
Map<String, Object> rightMap = gson.fromJson(output, type);
return Maps.Difference(leftMap, rightMap);
}
我嘗試重新導入所有 maven 項目並尋找答案,但我找到的所有解決方案都與 android 地圖有關。 你能給我一些關於如何解決這個問題的建議,或者提出任何其他解決方案嗎? 非常感謝。
首先,它是 Google Guava 中的Maps::difference
,而不是Maps::Difference
(通常,我們從不使用PascalCase作為 Java 中的方法名稱;而駝峰命名是最好的約定)。
其次,根據您的評論,我已經通過相同的依賴重現了您的問題:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
和進口
import com.google.common.collect.Maps;
之后,
Map<String, String> map1 = new HashMap<>();
Map<String, String> map2 = new HashMap<>();
Maps.difference(map1, map2);
工作得很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.