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