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