我在练习在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
下面是代码:
import java.util.HashMap;
import java.util.Map;
public class DictionaryPractice {
public static void main(String[] args) {
Map shoppingList = new HashMap();
// 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插件。
+2
您可以简单地覆盖该值,因为哈希映射将覆盖现有密钥的值** shoppingList.put(“Bread”,Boolean.FALSE); **将完成这项工作。另一个建议是不要混合类型使用Boolean.FALSE或者只是false –
+0
@ whyn0t我认为本教程同时使用'布尔'和'布尔'来演示自动装箱。存储的值完全相同。 –
+0
@RealSkeptic我没有说这是错的,它只是良好的编程练习 –