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"
方法三:数组传参
数组作为对象传递,方法内修改数组内容会影响原始数组。
void modifyArray(int[] arr) {
arr[0] = 100; // 修改影响原始数组
}
int[] nums = {1, 2, 3};
modifyArray(nums);
System.out.println(nums[0]); // 输出 100
方法四:可变参数(Varargs)
使用...语法传递可变数量的参数,底层为数组。
void printValues(String... values) {
for (String v : values) {
System.out.println(v);
}
}
printValues("A", "B", "C"); // 可传递任意数量参数
方法五:使用final限制参数
final修饰的参数不可被重新赋值,但对象属性仍可修改。
void processFinal(final int x, final Person p) {
// x = 20; // 编译错误,final变量不可修改
p.name = "Charlie"; // 允许修改对象属性
}
方法六:通过集合类传参
传递List、Map等集合对象,方法内修改会影响原始集合。
void updateList(List<String> list) {
list.add("New Item");
}
List<String> items = new ArrayList<>();
updateList(items);
System.out.println(items); // 输出 [New Item]






