我想我理解錯誤信息的含義,即我有一個Person,並試圖將其轉換爲HashMap < String,Person>,但那不是什麼代碼說?我不明白我做錯了什麼。當我閱讀代碼時,我看不到任何問題.. 我一直在此停留一段時間..如果有一些基本的東西我錯過了我很想聽到它,因爲我只是沒有得到這個錯誤信息無法將人員轉換爲HashMap <String,Person>
//Variable HashMap
public static HashMap<String, Person> personer = new HashMap<String, Person>();
//Method newPerson
public HashMap<String, Person> newPerson(String name) {
Person person = new Person(name);
return personer.put(name, person);
}
//Method to read file
public void readFile(String filnavn) throws Exception {
String line;
String current;
File file = new File(filnavn);
Scanner in = new Scanner(new File(filnavn));
while (in.hasNextLine()) {
line = in.nextLine();
personer.put(newPerson(line));
}
}
在return personer.put(name,person);我得到錯誤說不兼容的類型:人不能轉換爲HashMap < String,Person>;
我還在personer.put(newPerson(line))處得到一個錯誤;說沒有找到合適的方法,但我認爲這兩個錯誤是相關的?
您認爲「personer.put(name,person)」這個表達的類型是什麼?你確定'put'方法的結果是你想要返回的嗎? –
不,第二個錯誤與第一個沒有任何關係 - 你試圖添加一個值而不是一個鍵和一個值。目前還不清楚爲什麼你要在這兩種方法中加入地圖... –
可能不是HashMap。所以方法應該是: public Person newPerson()而不是 public HashMap ()? –