在Java中,数组作为参数传递的方式取决于数组的类型:
基本类型数组(如int[]、double[]等):
传递引用,即传递数组的内存地址。
对数组元素的修改会影响原始数组。
对象数组(如String[]、自定义对象数组等):
对数组元素的修改不会影响原始数组。
示例代码
基本类型数组传递
public class Main {public static void main(String[] args) {int[] originalArray = {1, 2, 3};modifyArray(originalArray);System.out.println(Arrays.toString(originalArray)); // 输出 [10, 2, 3]}public static void modifyArray(int[] arr) {arr = 10;}}
对象数组传递

public class Main {public static void main(String[] args) {String[] originalArray = {"aa", "bb"};modifyArray(originalArray);System.out.println(Arrays.toString(originalArray)); // 输出 [aa, bb]}public static void modifyArray(String[] arr) {arr = new String[]{"cc", "dd"}; // 创建副本}}
可变参数
Java 5引入了可变参数(varargs),允许传递任意数量的参数,参数类型相同。
可变参数示例
public class VarargsExample {public static void printArray(int... arr) {for (int i : arr) {System.out.print(i + " ");}System.out.println();}public static void main(String[] args) {printArray(1, 2, 3, 4, 5); // 输出 1 2 3 4 5}}
总结
基本类型数组传递引用,修改会影响原始数组。
对象数组传递副本,修改不会影响原始数组。
可变参数允许传递任意数量的相同类型参数。
希望这些信息能帮助你理解Java中数组的参数传递方式
