如何传值java
传值方式概述
Java中的传值可分为基本数据类型传值和引用类型传值。基本数据类型直接传递值的副本,引用类型传递对象引用的副本(即地址值的拷贝)。
基本数据类型传值
基本类型(如int、double等)传递的是值的副本,方法内修改不影响原始变量。
void modifyValue(int x) {
x = 10; // 修改副本,不影响原值
}
int num = 5;
modifyValue(num);
System.out.println(num); // 输出5
引用类型传值
引用类型(如对象、数组)传递的是引用的副本,方法内通过引用修改对象属性会影响原始对象。
class Person {
String name;
Person(String name) { this.name = name; }
}
void modifyObject(Person p) {
p.name = "Alice"; // 修改对象属性
}
Person person = new Person("Bob");
modifyObject(person);
System.out.println(person.name); // 输出Alice
不可变对象的特殊情况
String等不可变对象传递引用副本,但修改时会创建新对象,原对象不变。
void modifyString(String s) {
s = "New Value"; // 新引用指向新对象
}
String str = "Original";
modifyString(str);
System.out.println(str); // 输出Original
数组传值
数组作为引用类型,方法内修改元素会影响原始数组。

void modifyArray(int[] arr) {
arr[0] = 100; // 修改数组元素
}
int[] array = {1, 2, 3};
modifyArray(array);
System.out.println(array[0]); // 输出100
总结
- 基本类型:传值副本,方法内修改不影响原变量。
- 引用类型:传引用副本,方法内修改对象属性会影响原对象。
- 不可变对象:行为类似基本类型,因修改会创建新对象。






