在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中数组的参数传递方式