Java中函数的参数传递方式
发布时间:2023-05-28 22:32:46
Java中函数的参数传递方式有两种:值传递和引用传递。
1. 值传递
值传递指的是把参数的值复制一份传给函数,在函数里对参数做任何修改都不会影响原来的值。例如:
public static void main(String[] args) {
int a = 10;
System.out.println(a); // 输出10
change(a);
System.out.println(a); // 输出10
}
public static void change(int b) {
b = 20;
}
在上面的例子中,函数change()对参数b做修改,但是在main()函数中,a的值并没有改变,因为传递的是值的复制品。
2. 引用传递
引用传递指的是把参数的地址传给函数,在函数里对参数的修改会影响原来的值。例如:
public static void main(String[] args) {
StringBuilder str = new StringBuilder("hello");
System.out.println(str); // 输出hello
change(str);
System.out.println(str); // 输出world
}
public static void change(StringBuilder s) {
s.append("world");
}
在上面的例子中,函数change()对参数s做修改,修改的是原来的地址指向的对象,因此在main()函数中,str的值也被修改了。
需要注意的是,Java中基本数据类型(如int、long、float等)都是值传递,而非基本数据类型(如String、数组、对象等)都是引用传递。
总结:Java中函数的参数传递方式有两种,值传递和引用传递。需要根据实际情况选择合适的传递方式。
