黑马程序员技术交流社区

标题: 求指教,一个传参问题 [打印本页]

作者: 冒烟的芒果    时间: 2013-7-17 10:14
标题: 求指教,一个传参问题
本帖最后由 冒烟的芒果 于 2013-7-23 01:56 编辑

下面这段代码为什么不能改变str的值??如果我要通过函数改变str应该怎么做??
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String str = "abcd";
  6.                 changeStr(str);
  7.                 System.out.println(str);
  8.         }
  9.         static void changeStr(String str)
  10.         {
  11.                 str = "1234";
  12.         }
  13. }
复制代码

作者: wedge    时间: 2013-7-17 10:47
String就相当于是char[]的包装类。包装类的特质之一就是在对其值进行操作时会体现出其对应的基本类型的性质。在参数传递时,包装类就是如此体现的。
推荐楼主去看看这篇博客,里面解释的很详细。至于怎么改变str,里面也有介绍。
http://freej.blog.51cto.com/235241/168676




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2