既然是对象的引用,为什么不行呢? new String("xxx")返回的是一个对象的应用所以arr[1]=new String("xxx");实际上是把arr[1]指向"xxx" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String[] arr =new String[2]; String str ="xxx"; arr[1]=str; arr[0]=arr[1]; System.out.println(arr[0]+" "+arr[1]);// xxx xxx xx="YY"; System.out.println(arr[0]+" "+arr[1]);// xxx xxx既然都是引用的str,为什么str变了之后,arr[0],arr[1]都不变呢? //上面有一变量写错了。 String[] arr =new String[2]; String str ="xxx"; arr[1]=str; arr[0]=arr[1]; System.out.println(arr[0]+" "+arr[1]);// xxx xxx str="YY"; System.out.println(arr[0]+" "+arr[1]);// xxx xxx既然都是引用的str,为什么str变了之后,arr[0],arr[1]都不变呢? String[] arr =new String[3]; arr[0]=arr[1]; System.out.println(arr[0]);//这是null,可以理解/*在这儿数组1与0都指向null*/ arr[1]=new String("xxx");/*这儿数组1改变了自己对象,但数组0没有发生变化,仍指向null*? System.out.println(arr[0]);//是什么呢?为何还是null 假设null的内存地址为0000执行这一句后arr[0]=arr[1];两个数组指向的地址都是0000执行这一句arr[1]=new String("xxx");arr[1]的地址变成了新的,而arr[0]仍指向0000这个地址 float与double精度问题 易宝支付如何接入网站?(小白白的问题) 在线急等啊! 如何用JFreeChaart画直线 我想学习JAVA但不知道怎么学啊? 编译通过,运行异常,大家帮我分析一下 请教个JAVA扩展问题 各位大哥:帮帮忙:怎么样才能将applet程序显示在浏览器上面?? 怎样将字符转成ASCII码? 如何配置tomcat4.0 点击按钮添加Item到List的实现 请看过core java的朋友指点一下,谢谢! 包和文件夹有什么区别?
String str ="xxx";
arr[1]=str;
arr[0]=arr[1];
System.out.println(arr[0]+" "+arr[1]);// xxx xxx
xx="YY";
System.out.println(arr[0]+" "+arr[1]);// xxx xxx既然都是引用的str,为什么str变了之后,arr[0],arr[1]都不变呢?
String[] arr =new String[2];
String str ="xxx";
arr[1]=str;
arr[0]=arr[1];
System.out.println(arr[0]+" "+arr[1]);// xxx xxx
str="YY";
System.out.println(arr[0]+" "+arr[1]);// xxx xxx既然都是引用的str,为什么str变了之后,arr[0],arr[1]都不变呢?
arr[0]=arr[1];
System.out.println(arr[0]);//这是null,可以理解
/*在这儿数组1与0都指向null*/ arr[1]=new String("xxx");
/*这儿数组1改变了自己对象,但数组0没有发生变化,仍指向null*?
System.out.println(arr[0]);//是什么呢?为何还是null
执行这一句后arr[0]=arr[1];两个数组指向的地址都是0000
执行这一句
arr[1]=new String("xxx");
arr[1]的地址变成了新的,而arr[0]仍指向0000这个地址