关于JAVA中的String类型的总结

因为前几天在贴吧里看到有人问了一道面试题: 原题地址:http://tieba.baidu.com/p/3479790275?pid=61955018493&cid=0#61955018493

 1 public class StringTest {
 2 
 3 public static void change(String str){
 4 str = "bbb";
 5 }
 6 
 7 
 8 public static void main(String[] args){
 9 String str = "aaa";
10 change(str);
11 System.out.println(str);
12 }
13 }

问输出结果,我的第一感觉应该就是bbb。。

我发现我的理解一直是处于 c++ 或者 c 的思路,后来又找到一个答案,我觉得 很好的解决了我的疑惑--》http://www.programcreek.com/2013/09/string-is-passed-by-reference-in-java/

还有,从开始接触java就不理解 java只有值传递,现在稍微是理解一点了。

即使是 引用也只是把引用本身创建了一个副本,值实际上还是没有变

总感觉哪里不对,先写这么多,也希望能跟大家有交流

原文地址:https://www.cnblogs.com/smartJoey/p/4180683.html