Java字符串数组输出差异

时间:2017-07-15 10:48:12

标签: java

String s="StackOverflow is heaven";
char []c=new Char[100];

c=s.toCharArray();

System.out.println(c);
System.out.println("Output="+c);

Output is :-  StackOverflow is heaven
              Output=[C@15db9742  

为什么B / W输出有差异?请解释一下

1 个答案:

答案 0 :(得分:4)

案例1:

overloaded println采用char[]方法在内部处理数组并打印String。请注意,println()没有任何其他类型的基本数组的重载方法。

案例2:

您正在使用String连接数组,因此在进行println处理之前,步骤1本身将调用您的char数组toString()并将其附加到字符串,并将最终输出打印为String。

因此,如果扩展第二个语句,处理看起来像

System.out.println("Output="+c.toString());  
System.out.println("Output="+ "[C@15db9742");
System.out.println("Output=[C@15db9742");