A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冒烟的芒果 中级黑马   /  2013-7-17 10:14  /  1104 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 冒烟的芒果 于 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. }
复制代码

1 个回复

倒序浏览
String就相当于是char[]的包装类。包装类的特质之一就是在对其值进行操作时会体现出其对应的基本类型的性质。在参数传递时,包装类就是如此体现的。
推荐楼主去看看这篇博客,里面解释的很详细。至于怎么改变str,里面也有介绍。
http://freej.blog.51cto.com/235241/168676
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马