很基础的一个问题,面试了十几个人既然没有一个做对!
很基础的一个问题,面试了十几个人既然没有一个做对!
String st1[]={"aa","bb","cc","dd","ee","ff"};
String st2[]=st1;
st2[0]="00";
System.out.println(st1[0]);
System.out.println(st2[0]);
打印结果: String st2 = st1;
st2 = "00";
System.out.println(st1);
System.out.println(st2);</pre>
<br>估计这个错的更多。。。</div>
<br><br>在轻松的环境下,人思考得越周全... <br><br>面试的时候,精神状态会差些吧! <br><br>字符串不可变,如果从内存角度思考,会简单很多... <br>
</div>
<p>?</p>
<p>?这个是考察 对象创建和 LZ的 一起就是也考察 值传递了吧 </p>
<p>我的理解就是 LZ给的里面 创建了一个数组对象 str1,str2 都是指向 数据的引用 </p>
<p>在上面 有创建了 一个新的对象 s2 指向 新的对象 s1 还是指向原来的对象</p> 50 楼 benbenxiongyuan 2011-06-23 没做对的话,基础还是不牢固。
如果对java虚拟机内存结果稍了解的话,应该能猜对。
堆和常量池。常量区值相同的只有一份实例。堆中每次new新生成不同的实例。