java 字符串问题
问题可能比较痴呆,但是查了半天没查到,望解答-_-||
String A = "aaa";
String B = A + "bbb";
A = "AAA";
System.print(B);
我想让 输出可以是 “AAAbbb”,而不是“aaabbb”
求教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
B哪里已经是创建了一个新的对象了,和A没关系
String A = "aaa";这样的字符串是存放在方法区的字符常量池,题主描述的这种情况是发生在引用类型的,可以试试 String A = new String("aaa");
B = A;
A = new String("AAA");
这样把字符串放到堆内存可能会出现题主描述的情况。
最早的回答已经提到了,你的A改变后和B没有发生任何关联
String A = "aaa";
String B = A + "bbb";
A = "AAA";
B = A + "bbb";//起码要有这个吧
System.out.print(B);