欢迎访问宙启技术站
智能推送

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中函数的参数传递方式有两种,值传递和引用传递。需要根据实际情况选择合适的传递方式。