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
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- java 方法调用,形参改变,实参是否发生改变
- 数组和String调用方法时,值是否改变(包含可变参数)
- java 调用webservice的各种方法总结
- JAVA笔试题总结3:父类构造器调用被子类重写方法
- java 调用webservice的各种方法总结
- 关于Java对相对目录的文件读写和调用方法的一些总结
- java 调用webservice的各种方法总结
- java 调用webservice的各种方法总结,wsimport方法总结
- java判断一个字符串是否为空的方法总结
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- Java 类之间方法调用的总结
- Java比较两个数组中的元素是否相同的最简单方法
- Java中数组常用方法的总结
- 在使用java框架开发时如果不确定方法是否被调用怎么办?
- java调用python方法总结
- java判断字符串是否为空的方法总结
- java 调用webservice的各种方法总结
- paip.java-asp-php-.net互相调用方法大总结
- paip.java-asp-php-.net互相调用方法大总结
- 黑马程序员--Java基础加强--07.【反射创建对象 操作字段 调用方法的异同】【个人总结】