java基本類(lèi)型如何傳引用

小億
101
2023-11-25 04:22:54

Java的基本類(lèi)型是通過(guò)值傳遞的,而不是通過(guò)引用傳遞的。這意味著當(dāng)將一個(gè)基本類(lèi)型的值傳遞給方法時(shí),方法接收的是該值的副本,而不是原始值本身。

如果想要在方法中修改基本類(lèi)型的值并在方法外部看到這個(gè)修改,可以使用包裝類(lèi)。 Java提供了對(duì)每個(gè)基本類(lèi)型的包裝類(lèi),例如Integer,Double等。通過(guò)使用這些包裝類(lèi),可以將基本類(lèi)型的值作為對(duì)象傳遞,并將其修改傳遞給方法外部。

以下是一個(gè)使用Integer包裝類(lèi)的示例:

public class Main {
    public static void main(String[] args) {
        Integer num = 10;
        System.out.println("Before: " + num);
        modifyValue(num);
        System.out.println("After: " + num);
    }
    
    public static void modifyValue(Integer num) {
        num = num + 5;
        System.out.println("Inside method: " + num);
    }
}

輸出:

Before: 10
Inside method: 15
After: 10

可以看到,在方法內(nèi)部修改了num的值,但在方法外部沒(méi)有反映出來(lái)。這是因?yàn)镮nteger是不可變的,所以在方法內(nèi)部對(duì)num進(jìn)行修改實(shí)際上是創(chuàng)建了一個(gè)新的Integer對(duì)象,并將新對(duì)象的引用賦給了num。原始的num對(duì)象并沒(méi)有被修改。

0