Java 中数组作为参数传递时,基本类型数组传递引用,对象数组传递副本。修改基本类型数组会反映在原始数组中,而修改对象数组中的元素则不会。

Java 中数组作为参数传递
在 Java 中,数组作为参数传递的方式取决于传递的数组类型:
基本类型数组 (如 int[] 或 double[])
基本类型数组在 Java 中作为引用类型对待,因此传递基本类型数组时,实际上传递的是指向数组的引用。这意味着对作为参数传递的数组进行的任何修改都会反映在原始数组中。
立即学习“Java免费学习笔记(深入)”;
对象数组 (如 String[] 或 Object[])
1.修正BUG站用资源问题,优化程序2.增加关键词搜索3.修改报价4.修正BUG 水印问题5.修改上传方式6.彻底整合论坛,实现一站通7.彻底解决群发垃圾信息问题。注册会员等发垃圾邮件7.彻底解决数据库安全9.修改交易方式.增加网站担保,和直接交易两中10.全站可选生成html.和单独新闻生成html(需要装组建)11. 网站有10中颜色选择适合不同的行业不同的颜色12.修改竞价格排名方式13.修
对象数组也作为引用类型传递,但与此不同的是,传递的对象数组中元素的副本。因此,对作为参数传递的对象数组中的元素进行的任何修改都不会反映在原始数组中。
数组传递的代码示例
以下是一个 Java 代码示例,演示数组作为参数传递:
public class ArrayPassing {
public static void main(String[] args) {
// 基本类型数组
int[] numbers = {1, 2, 3};
printArray(numbers); // 输出:1 2 3
// 对作为参数传递的数组进行修改
modifyArray(numbers);
printArray(numbers); // 输出:4 5 6
// 对象数组
String[] names = {"John", "Mary", "Bob"};
printArray(names); // 输出:John Mary Bob
// 对作为参数传递的对象数组中的元素进行修改
modifyArray(names);
printArray(names); // 输出:John Mary Bob
}
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
public static void printArray(String[] arr) {
for (String s : arr) {
System.out.print(s + " ");
}
System.out.println();
}
public static void modifyArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i] += 3;
}
}
public static void modifyArray(String[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i] = arr[i].toLowerCase();
}
}
}在这个示例中,printArray 方法演示了打印数组的内容。modifyArray 方法演示了修改作为参数传递的数组。对于基本类型数组,修改是永久性的,而对于对象数组,修改只影响传递的副本。








