0
给定一个代码片段集大小甚至不减少它
package setexample;
import java.util.HashSet;
import java.util.Set;
public class Mapit {
public static void main(String[] args) {
Set<Integer> set = new HashSet<Integer>();
Integer i1 = 45;
Integer i2 = 46;
set.add(i1);
set.add(i1);
set.add(i2);
System.out.println(set.size());
set.remove(i1);
System.out.println(set.size());
i2 =47;
set.remove(i2);
System.out.println(set.size());
}
}
的O/P出来是2 1 1
,而不是我所期待的2 1 0
。是什么原因 ?
你试图从包含'46'的集合中删除'47'。你期望会发生什么? – Kayaman 2015-03-25 11:03:02
@Kayaman OP怀疑我猜的不是价值,是关于对象,它是引用......如果你不把'i2'放在'Collection'中,你可以将值从'47'改变为'46',并且使用它只引用名称 – 2015-03-25 11:08:10
@Jordi Castilla是的,但我想通过值的java传递,因此参考变量(i2)更新 – 2015-03-26 06:03:26