参考:https://blog.csdn.net/z10z32/article/details/76906499
public class Struct {
public static void main(String[] args) {
// converts String value to character array type value (把字符串值转化为字符串数组类型)
String str = " Java was developed by James Gosling";
char retval[] = str.toCharArray();
// displays the converted value
System.out.println(" "+retval);//(1)
System.out.println(retval);//(2)
}
}
输出是:
[C@58ceff1
Java was developed by James Gosling
分析,(1)“ ”+ch 把数组转化成了字符串String类型,;
(2)调用的方法的参数是char[]数组(字符数组)类型。
结论:
输出“ [C@58ceff1”的原因是:“ ”+ch 把数组转化成了字符串String类型的了。这是println方法的重载问题导致的。
附:java如何将各种类型的数组直接打印输出
https://blog.csdn.net/mxd446814583/article/details/79591672
如果要将int数组打印出来,可以使用Arrays.toString。
下面有一个小例程:
package testArray;
import java.util.Arrays;
public class testArray {
public static void main(String[] args) {
int [] a = new int[5];
int [] b = {1,45,65,345};
String[] c = {"dewd","fwefew","fewf"};
for(int i = 0; i < 5; i ++){
a[i] = i;
}
System.out.println("数组A: " + Arrays.asList(a));
System.out.println("数组B: " +Arrays.toString(b));
System.out.println("字符串C: " +Arrays.toString(c));
System.out.println("字符串C: " +Arrays.asList(c));
}
}
输出结果:
数组A: [[I@28084850]
数组B: [1, 45, 65, 345]
字符串C: [dewd, fwefew, fewf]
字符串C: [dewd, fwefew, fewf]