您的位置:首页 > 编程语言 > Java开发

Java方法调用数组,是否改变原数组元素的总结

2020-04-26 19:07 1281 查看

Java方法调用数组,是否改变原数组元素的总结

//个人理解, 欢迎吐槽

注意String是引用型变量, 我的理解也就是指向型, 指向一个数据或变量, 画图理解最容易, string 指向的 数据的值是不可改变的, string类型变量改变时,只是改变指向

例1:

public class test {

public static void main(String[] args){

char[] list={'a','b','c','d','e'};

reverse(list);

for(int i=0;i<list.length;i++)

System.out.print(list[i]+" ");

}

public static void reverse(char[] list){

char[] newList=new char[list.length];

for (int i=0;i<list.length;i++)

newList[i]=list[list.length-1-i];

list = newList;

}

}

  这个例子的答案是主方法的 list 数组没有受影响,下面我将 reverse 方法中 list 称为 reverse.list , 主方法的list 为 main.list 加以区分

  调用 reverse 方法时,reverse.list 指向 main.list, 然后 reverse方法中,有一条 list = newList, 则将reverse.list 指向 reverse.newList, 所以该方法不会改变 main.list 的值

例2:

package Java_test;

public class Class432 {
String m_kobe = "1";
String [] m_king = {"2"};
public static void main(String[] args) {
Class432 app = new Class432();
app.mb_operate(app.m_kobe, app.m_king);
System.out.println(app.m_kobe + app.m_king[0]);
}
static void mb_operate(String kobe, String [] king) {
kobe = new String("3");
king[0] = new String("4");
}
}

此例输出为:14

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Mrwei_418 发布了19 篇原创文章 · 获赞 2 · 访问量 226 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: