看下什么结果?为什么?

wwhui 2006-12-22 02:54:48
public class test
{

public static void main(String args[])
{
String a="yes";
a="good";
System.out.println(a);
}
}
...全文
220 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
mavina 2006-12-22
  • 打赏
  • 举报
回复
楼上分析的透彻
awusoft 2006-12-22
  • 打赏
  • 举报
回复
直接用""把一个字符串给一个变量,这个值是来自字符池的.
按此想法,如果String a="AA"; String b="AA";System.out.println(a==b);应该是输出true吧;
String a="AA";String b=new String("AA");System.out.println(a==b);应该输出false吧;
最主要是应该理解这个final.....应该是说它的值不可变吧,而不是这个引用变量不可用.不知道对否
wushui1215 2006-12-22
  • 打赏
  • 举报
回复
是 final 也能 重新申请地址啊
wushui1215 2006-12-22
  • 打赏
  • 举报
回复
String型的对象都是final的,看一下基础书里面都有介绍的!


?????????????
yunbaixingxing 2006-12-22
  • 打赏
  • 举报
回复
因为good所以good
wanguanghai 2006-12-22
  • 打赏
  • 举报
回复
楼上分析的如此透彻
Dan1980 2006-12-22
  • 打赏
  • 举报
回复
楼上画蛇添足了,第一个字符串不会被回收的,依然存在于内存中。
rengangzai 2006-12-22
  • 打赏
  • 举报
回复
它打印出第二次赋的值:good。
第一个字符串被当作garbge回收了。
这样的回答满意吗??
Dan1980 2006-12-22
  • 打赏
  • 举报
回复
楼主是想听夸奖吧,因为一般人都会回复“good”,哈哈
qljsd 2006-12-22
  • 打赏
  • 举报
回复
什么问题哟,无语
baobao28 2006-12-22
  • 打赏
  • 举报
回复
毫无疑问是good,因为后一次赋值替换调前一次变量的值
hongbinma0520 2006-12-22
  • 打赏
  • 举报
回复
good
nie7870120 2006-12-22
  • 打赏
  • 举报
回复
good
约翰羊 2006-12-22
  • 打赏
  • 举报
回复
good
hellox 2006-12-22
  • 打赏
  • 举报
回复
good
numen_wlm 2006-12-22
  • 打赏
  • 举报
回复
String型的对象都是final的,看一下基础书里面都有介绍的!
lixiaoxue85 2006-12-22
  • 打赏
  • 举报
回复
??你重复对a赋值 当然是good 你想输出社么?

62,614

社区成员

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

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