请教各位一个关于String 的引用传递问题

aaxiangzd 2011-07-07 04:09:30
请教各位一个关于String 的引用传递问题:
1.String类中的内容一旦声明就不可改变
2.对String的赋值有两种:一是直接赋值。二是用new开辟空间。

比如说:
public class test
{
public static void main (String args[])
{
String a = "初值";
hanshu(a);
System.out.println(a);
}
public static void hanshu(String x)
{
x = "改变值";
}
};
这段代码执行后输出的是“初值”,这个容易理解。但是看下面一段代码:
public class test
{
public static void main (String args[])
{
String a = "初值";
a = "改变值";
System.out.println(a);
}
};
这段代码执行输出的是“改变值”,这个我就很奇怪了,String a的值不是很轻易地就被我修改了吗?
求解。
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaxiangzd 2011-07-08
  • 打赏
  • 举报
回复
谢谢两位的热心回答。
bianhei000 2011-07-07
  • 打赏
  • 举报
回复
这是正常的赋值啊,不改才有问题
龙四 2011-07-07
  • 打赏
  • 举报
回复
你改的是引用。。。。你改的是a这个变量里存的String对象地址

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧