我的任务是在HashMap中实现一个联系人列表。除了下面代码中的问题外,一切都很顺利。HashMap方法put(K键,V值)不接受定义的参数String,List。
public class ContactList(){ // this is the class
private HashMap<String, List<String>> map; // private HashMap field
public void update(String name, List<String> number){ //method I'm having trouble with
this.map.remove(name);
this.map.put(name, number) // HashMap method, main problem.
}
}
错误为:
The method put(String, List<String>) is undefined for the type ContactList
我该如何更正?
您正试图在Constructor中调用和定义类变量。您在同一个构造函数中编写方法更新,这也是错误的。
试试这个。
public class ContactList{
private Map<String,List<String>> map;
public ContactList(){
map = new HashMap<String,List<String>>();
String contactName = "Shyama Bhattacharya";
List<String> constactAddress = new ArrayList<String>();
contactAddress.add("Parker Colony");
contactAddress.add("Banglaru");
update(contactName,contactAddress);
}
public void update(String contactName,List<String> contactAddress){
map.put(contactName,contactAddress);
}
}
这绝对有效!!
错误表明ContactList
中没有方法put(String, List<String>)
。据我所见,确实没有。但你确实有一个方法public void update(String name, List<String> number)
。因此,调用update
或将update
重命名为put