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

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

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[]等其他数组,它会直接调用这个方法来打印,因而可以打印出数组内容,而不是地址。