私は1つの些細なことと混同しています-メソッドにパラメーターを渡し、それらの値を変更する...私はあなたにいくつかのコードを与える方が良いでしょう:
public class Test {
public static void main(String[] args) {
Integer val = new Integer(41);
upd(val);
System.out.println(val);
Man man = new Man();
updMan(man);
System.out.println(man.name);
}
static void upd(Integer val) {
val = new Integer(42);
}
static void updMan(Man man) {
man.name = "Name";
}
static class Man {
String name;
}
}
渡したIntegerオブジェクトがManオブジェクトの更新中に更新されない理由を説明してください。IntegerオブジェクトとManオブジェクトは(非プリミティブな性質のために)参照によって渡されませんか?