我在練習在JAVA中使用HashMap的教程。 樣本HashMap的實現代碼失敗,出現錯誤編譯:找不到符號--HashMap .replace()方法
DictionaryPractice.java:57: error: cannot find symbol
shoppingList.replace("Bread", Boolean.FALSE);
symbol: method replace(String,Boolean)
location: variable shoppingList of type Map<String,Boolean>
下面是代碼:
import java.util.HashMap;
import java.util.Map;
public class DictionaryPractice {
public static void main(String[] args) {
Map<String, Boolean> shoppingList = new HashMap<String, Boolean>();
// Put some stuff in dictionary
shoppingList.put("Ham", true);
shoppingList.put("Bread", Boolean.TRUE);
shoppingList.put("Oreos", Boolean.TRUE);
shoppingList.put("Eggs", Boolean.FALSE);
shoppingList.put("Sugar", false);
// Retrieve items
System.out.println(shoppingList.get("Ham"));
System.out.println(shoppingList.get("Oreos"));
// Remove things
shoppingList.remove("Eggs");
// Replace values for a certain key
shoppingList.replace("Bread", Boolean.FALSE);
}
}
我已經閱讀HashMap類JavaDoc中,並證實.replace
是一個有效的HashMap方法來替換指定鍵的值。但是,我不斷收到cannot find symbol error
。您的善意幫助將不勝感激。對於基本問題抱歉。
我正在使用jEdit文本編輯器,並在MacOSX Yosemite上安裝了Compile插件。
您可以簡單地覆蓋該值,因爲哈希映射將覆蓋現有密鑰的值** shoppingList.put(「Bread」,Boolean.FALSE); **將完成這項工作。另一個建議是不要混合類型使用Boolean.FALSE或者只是false – whyn0t
@ whyn0t我認爲本教程同時使用'布爾'和'布爾'來演示自動裝箱。存儲的值完全相同。 – RealSkeptic
@RealSkeptic我沒有說這是錯的,它只是良好的編程練習 – whyn0t