我有兩個例子,我不明白通過Ref Java。整數不修改,集合被修改,爲什麼?
的Java傳遞值作爲變量或引用
爲什麼在Ref
類整型變量不發生變化(null)
通行證? 爲什麼在RefCol
類中收集變量被修改爲col(1)
?
類編號:
test(): entero: 5
inicio(): entero: null
類RefCol:
test(): col: [1]
inicio(): col: [1]
。
import java.util.Collection;
import java.util.Vector;
public class Ref {
public static void main(String[] args){
Ref ref = new Ref();
ref.inicio();
}
public void inicio(){
Integer entero = null;
test(entero);
System.out.println("inicio(): entero: " + entero);
}
public void test(Integer entero){
entero = new Integer(5);
System.out.println("test(): entero: " + entero);
}
}
public class RefCol {
public static void main(String[] args){
RefCol ref = new RefCol();
ref.inicio();
}
public void inicio(){
Collection col = new Vector();
test(col);
System.out.println("inicio(): col: " + col);
}
public void test(Collection col){
col.add(new Integer(1));
System.out.println("test(): col: " + col);
}
}
http://stackoverflow.com/questions/2208943/how-增量一個類整數引用值在java中從另一種方法 – BobTheBuilder 2013-02-27 10:52:41
不重複。我比較Integer與Collection ...¬¬ – Marquake 2013-02-27 15:21:50
引用的問題可以解答您的問題。無論您使用哪種類型的對象,概念保持不變 – cowls 2013-02-27 15:53:20