請解釋以下代碼的輸出。我猜它是空的,因爲命令行參數不同於它的鍵。但這不是正確的解釋。它是空的,因爲朋友類不會覆蓋equals和hashcode()方法。哈希圖得到方法
但是爲什麼?
import java.util.*;
public class Birthdays {
public static void main(String[] args) {
Map<Friends, String> hm = new HashMap<Friends, String>();
hm.put(new Friends("Charis"), "Summer 2009");
hm.put(new Friends("Draumur"), "Spring 2002");
Friends f = new Friends(args[0]);
System.out.println(hm.get(f));
}
}
class Friends {
String name;
Friends(String n) { name = n; }
}
和命令行調用: java的生日Draumur
args [0] =「Dramur」或args [0] =「java」? – prity
'java'是可執行文件。 '生日'是主要的類。其他一切都是'args' –