在Java中,存在兩種傳遞參數的方式:引用對象和值傳遞。
引用對象指的是將指針傳遞給方法,方法內對該對象的改變會影響到原對象。值傳遞指的是將對象的拷貝傳遞給方法,對該對象的改變不會影響到原對象。
public class Main { public static void main(String[] args) { // 引用對象 String str = "Hello"; System.out.println("Before method: " + str); passReference(str); System.out.println("After method: " + str); // 值傳遞 int num = 5; System.out.println("Before method: " + num); passValue(num); System.out.println("After method: " + num); } public static void passReference(String str) { str += " World"; System.out.println("Inside method: " + str); } public static void passValue(int num) { num += 5; System.out.println("Inside method: " + num); } }
運行以上代碼,輸出結果為:
Before method: Hello Inside method: Hello World After method: Hello World Before method: 5 Inside method: 10 After method: 5
可以看到,當傳遞的參數為引用對象時,方法內的改變會影響到原對象;而當傳遞的參數為值傳遞時,方法內的改變不會影響到原對象。