1
我有以下代碼,我想打印x
,y
和z
。當我這樣做時,我預計分別爲(1969, 21, 7)
,(1969, 4, 12)
和(1969, 21, 7)
。相反,我得到null
null
null
。爲什麼我的哈希映射代碼打印爲空?
我的問題是,爲什麼下面的代碼爲x,y和z打印null而不是實際的日期?
import java.util.HashMap;
import java.util.GregorianCalendar;
public class GregorianCalenderTest {
public static void main(String[] args) {
HashMap st = new HashMap();
GregorianCalendar x = new GregorianCalendar(1969, 21, 7);
GregorianCalendar y = new GregorianCalendar(1969, 4, 12);
GregorianCalendar z = new GregorianCalendar(1969, 21, 7);
st.put(x, "human in space");
x.set(1969, 4, 12);
System.out.println(st.get(x));
System.out.println(st.get(y));
System.out.println(st.get(z));
}
}
所以,即使在打印'y'和'z'時,那些值也會變成null? –
你在做什麼是危險的。此外,你的映射只包含一個鍵 - 值對,爲什麼你期望在這裏看到3個非空值? – Andremoniy