我認爲這很容易,但我掙扎...我想發送2個字符串到一個方法,並有一個作爲地圖鍵和另一個作爲集的名稱; 編輯:地圖聲明; 編輯2爲地圖添加構造函數;添加字符串作爲地圖集的名稱
public HashMap<String, Set<String>> playerMap; //edit 1
public Planets()
{ playerMap =新的HashMap <>();
} //編輯2
public void addMapEntry(String newPlayerAdd, String newPlanetAdd)
{
playerMap.put(newPlayerAdd, newPlanetAdd);
}
和我得到錯誤消息
參數失配 java.util.Map.put(java.lang.String中,jaav.util.Set)是 不適用; (....)不能轉換爲(...)。
我已經創造了這個相同的類地圖和以前的設置和所有已添加精...
我已經改變了代碼
public void addMapEntry(String newPlayerAdd, Set<String> newPlanetAdd) {
planetStats = new TreeSet<>(newPlanetAdd);
playerMap.put(newPlayerAdd, newPlanetAdd);
}
而且我得到一個運行時錯誤而不是編譯時錯誤; 我覺得我不是傳遞變量的正確格式的方法...任何幫助讚賞... 目前在發的
allPlanets.addMapEntry("Jane", "Klethron");
一個字符串就是一個字符串,即使它恰好包含一個變量的名稱。這意味着你不能用它來替代你需要使用的實際變量。如果您要將Set添加到您的地圖,則需要添加Set,而不是包含其變量名稱的String。 – JonK
你可以用playerMap聲明來編輯你的問題嗎? – Sarkhan
如果刪除「planetStats = new TreeSet <>(newPlanetAdd);」 - 你的第二個代碼中的這一行。還請包括聲明「playerMap」 – Kartic