byte  sTest[] = "1234567890gddsgfd3253*&*(&".getBytes();
System.out.println("Test : " + sTest);
System.out.println("Test : " + (new String(sTest)).getBytes());
执行结果:
Test : [B@13caecd
Test : [B@11b9fb1
帮我看一下,为什么结果不同?问题出在那里?

解决方案 »

  1.   

    不同的对象,输出肯定不同啊new关键字新生成了一个对象。
      

  2.   

    System.out.println("Test : " + sTest);问题在于 这样的话打印出sTest对象的类名和hashCode两个对象不同 肯定hashCode不同
      

  3.   

    System.out.println("Test : " + sTest);
    这样的话打印出sTest对象的类名和hashCode
      

  4.   

    byte[] byteArr1 = "fdgretdv4543t4".getBytes();
    byte[] byteArr2 = (new String(byteArr1)).getBytes();
    System.out.println(byteArr1);
    System.out.println(byteArr2);
    byteArr1和byteArr2输出的结果不同,该怎么处理可以将他们的输出结果相同呢?
    条件是将一个byte[] 转换成 String 后 再转换成 byte[]关键是解决问题,不是说明问题在那里
      

  5.   

    for(int i=0;i<byteArr1.length;i++)
      System.out.print(byteArr1[i]);System.out.println("");for(int i=0;i<byteArr2.length;i++)
      System.out.print(byteArr2[i]);System.out.println("");
      

  6.   

    你想输出一样,不就是两个地址一样,不就是同一个对象了嘛?那new了一个干嘛呢?