Dalam kod berikut, kesan pertukaran dua objek tidak dicapai
Hasil keluaran ialah 3:4
Secara logiknya, bukankah semua rujukan dalam Java sepatutnya boleh menukar objek!
Tolong jelaskan kesilapan saya dan beri penyelesaian.
Saya mahu outputnya ialah 4:3
class Int
{
public int x;
}
Helo kelas awam {
void swap(Int a,Int b)
{
Int t=a;
a=b;
b=t;
}
public static void main(String[] args) {
Hello hello=new Hello();
Int a=new Int();
Int b=new Int();
a.x=3;
b.x=4;
hello.swap(a,b);
System.out.println(a.x+":"+b.x);
}
}
Dalam dunia Java, parameter input fungsi atau kaedah dihantar melalui salinan nilai:
Biasanya, java tidak boleh melaksanakannya.
Dan bahagian dalam objek int
private final int value;
adalah muktamad