本帖最后由 焦健 于 2013-1-24 18:30 编辑
请问大家,为什么将一个字符串转换为一个byte数组,并且存入到一个已经定义好的byte数组中,那么这个数组的地址值就会改变。我们知道字符串的改变改变的是地址的引用,但是byte不是引用数据类型,那么它本身的地址为什么会改变呢。- public class Test5 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- byte[] arr=new byte[5];
- System.out.println(arr.length+"--"+arr.hashCode());
- arr[1]=3;
- arr[0]=2;
- System.out.println(arr.length+"--"+arr.hashCode());
- String str="abc";
- arr=str.getBytes();
- System.out.println(arr.length+"--"+arr.hashCode());
-
- }
- }
复制代码 接下来是这一段代码运行的结果,请大家帮忙分析一下。。- 5--6613606
- 5--6613606
- 3--22608339
复制代码 |