java String 之参数传递
来源:互联网 发布:mac充电器怎么用 编辑:程序博客网 时间:2024/06/05 02:41
今天忽然想到java中特殊的对象String作为参数传递的问题,于是google一下“java 中 string 引用“发现排在第一位的竟然是一个长篇大论,解释的还不清楚的文章。于是我便自己动手写下这篇博客。
Java的String作为参数传递,其实与普通对象没有本质区别。下面代码描述普通对象作为参数传递,在方法中改变对象的引用,并改变对象持有变量的值
public static void main(String[] args) { TestObject data = new TestObject(); System.out.print("-----"+data.getA()); change(data); System.out.print("-----"+data.getA()); } public static void change(TestObject iObject){ iObject = new TestObject(); iObject.setA(10); System.out.print("-----"+iObject.getA()); } static class TestObject{ private int a = 100; public int getA() { return a; } private void setA(int ia) { a = ia; } }
运行结果为:
-----100-----10-----100
结果显示传递到方法中改变iObject引用,并不会改变原始对象data的值。为什么会这样的呢?data对象作为引用赋值给了方法中的参数列表中的iObject引用,该引用指向原data对象。在方法中改变iObject引用的对象,并不会改变data引用的对象,可以把iObject理解成临时的data引用,如果改变其引用则与原data没有任何关系。
String也是一样,原String对象作为引用传递到方法中,在方法中给临时引用重新赋值,只是改变了方法中临时string引用的指向,并不会改变原对象的引用,因此原string的值不会改变。
1 0
- java String 之参数传递
- Java 面试之2 String 参数传递
- java之传递String类型的参数
- java传递String参数
- Java String、StringBuffer参数传递
- java 参数传递和String
- Java-String类型的参数传递问题
- Java中String作参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- [Java]String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Lua 标准库 - 基本函数(base function)
- php XPATH一些注意事项
- RGB,HSV
- tcp http 区别
- MATLAB与图像处理(三):图像分成块
- java String 之参数传递
- 数据清洗与收集week1
- Android语音识别SDK语义理解与解析方法
- JProbe 8.0:Java代码、内存及覆盖率分析王者回归
- c++显示类型转换
- 终于能用Windows Live Writer写CSDN博客啦
- mysql约束总结
- MATLAB基本操作(三):数据类型
- centos6 bind9 反向解析设置