System 类中 arraycopy 方法的使用 为什么 char[] 数组能直接打印

😂 这篇文章最后更新于2228天前,您需要注意相关的内容是否还可用。

Q:现有一个字符数组 {'i','t','c','a','s','a'},请使用System 类中的 arraycopy() 方法在控制台输出 “itcast”(提示:将[1] 号数组元素复制到最后位置并覆盖原有元素。)

char[] str={'i','t','c','a','s','a'};
System.arraycopy(str,1,str,5,1);
System.out.print(str);

一直忽略的误区:

1、以为 arraycopy 需要两个不同数组,但是其实一个数组也可以操作

2、char[] 数组不用遍历输出,可以直接打印出来

拓展:

char 类型的数组就相当于一个字符串。

因为输出流 System.out 是 PrintStream 对象,PrintStream 有多个重载的 println 方法,其中一个就是 public void println(char[] x),直接打印字符数组的话,不像 int[]等其他数组,它会直接调用这个方法来打印,因而可以打印出数组内容,而不是地址。