java自动拆箱装箱int n420Integer i new Integer(n)ListInteger lnew ArrayListInteger()l.add
java自动拆箱装箱
int n=420; Integer i = new Integer(n); List<Integer> l=new ArrayList<Integer>(); l.add(i); l.add(i); System.out.println(l.get(0)==l.get(1));
这个输出true 为什么
int n=420; List<Integer> l=new ArrayList<Integer>(); l.add(n); l.add(n); System.out.println(l.get(0)==l.get(1));
输出false 把n换成42又是true 我看网上说和自动拆箱 装箱有光 但是不明白为什么的 谢谢各位 [最优解释] LZ,我知道你想问什么了,但是你把你自己搞混了··· 第一段: int n=420; Integer i = new Integer(n); List<Integer> l=new ArrayList<Integer>(); l.add(i); l.add(i); // 这里你只 new 一个对象 i ,当然add 是同一个对象。 System.out.println(l.get(0)==l.get(1));
// 如果你改成下面的代码,outPut 就是 false: int n = 420; Integer i = new Integer(n); Integer j = new Integer(n); List<Integer> l = new ArrayList<Integer>(); l.add(i); l.add(j); System.out.println(l.get(0) == l.get(1));