String 值传递or引用传递
来源:互联网 发布:淘宝自动发货软件离线 编辑:程序博客网 时间:2024/06/05 07:25
其实,要是在之前,我会很肯定的回答String是引用传递,但是今晚一个例子,也可以说是自己忘了一些String的知识点,如需复习一下String的可以,看一下我之前的一篇博客用好字符串,提防陷阱
好吧,我简单列一下我遇到的情况
public class Test{public static void main(String[] args) throws IOException{String str = "string";append(str);System.out.println("main方法:" +str);}public static void append(String str){str += " change";System.out.println("append方法:" + str);}}
结果:
这时我就开始怀疑是不是String其实是值传递呢?
仔细一想,其实String是不可变长的,也就是String改变了,那jvm其实就在缓冲池长生了新的String直接量,并把String指向他,所以上面代码中执行的结果就是main中的str指向原来的String直接量,而 append方法中的str指向新的String直接量
要实现上面的效果可以用可以变长的StringBuilder,他整个过程中不会长生新的对象
public class Test{public static void main(String[] args) throws IOException{StringBuilder str = new StringBuilder("string");append(str);System.out.println("main方法:" + str);}public static void append(StringBuilder str){str.append(" change");System.out.println("append方法:" + str);}}
结果:
其实以上这些点,在我之前的博客用好字符串,提防陷阱就有关于String的注意事项,不过确实有时候还是会跌入这些啃爹的陷阱了去
0 0
- String 值传递or引用传递
- String值传递or引用传递?
- String值传递、引用传递?
- Java值传递or引用传递
- JAVA值传递or引用传递
- java值传递or引用传递解惑
- JAVA值传递or引用传递
- JAVA方法值传递OR引用传递
- java按值传递or引用传递?
- Java之值传递Or引用传递?
- Java-值传递or引用传递
- Java:值传递or引用传递
- Java值传递or引用传递机制
- java 值传递or引用传递?
- java String 值传递 还是引用传递
- 返回值(引用or值传递)
- 值传递、引用传递
- 值传递引用传递
- Eclipse插件开发系列文章---序
- 打开谷歌浏览器提示输入密钥环
- vm+redhat联网
- Android环境的搭建
- c/c++调用lua函数
- String 值传递or引用传递
- 转帖多线程编程使用互斥锁同步线程
- 利用nat123端口映射快速发布网站做网站服务,解决80端口映射被屏蔽被封问题,及nat123端口映射分析
- oracle视图的创建
- ngui基类log
- C++设计模式——迭代器模式
- 关于VWmare用NAT上网的问题
- 为什么微软和比尔是值得大家尊敬的
- android功能模块之通讯功能模块一