java语言提供了很多的方法来对数组进行复制。其中我们常用的方法有三种,下面一一列举出来 1. arraycopy()方法 函数原型:arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src: 原数组 srcPos:原数组起始的位置 dest:目的数组 destPos:目的数组的起始位置 length:所需复制数组的长度 需要注意的是要重新声明一个同类型且长度足够的数组,否则会出现异常。 下面举个例子:
System.arraycopy(a ,0 ,b ,0 ,8)这句话可以翻译为:把数组a从下标为0的位置依次开始复制到数组b下标为0的位置,复制长度为8。 使用arraycopy()方法要实现指明方法的路径,即头文件的import语句。在我们编程过程中不必一条条地去指明路径,我们可以使用快捷键Ctrl+shift+o即可补全所缺的路径。 输出的结果是:[1, 4, 6, 45, 3, 2, 56, 76] arraycopy()方法的主要缺点是必须事先创建好目的数组。 2.copyOf()方法 函数原型:copyOf(oringinal, int newlength) oringinal:原数组 newlength:复制数组的长度 这个方法是从原数组的起始位置开始复制,复制的长度是newlength。相比较于前一种,这种相当于特殊的情况,只能从原数组的起始位置开始复制。 输出的结果是:[3, 456, 4, 3, 2, 45, 5, 65] 3.copyOfRange()方法 函数原型:copyOfRange(oringinal,int from, int to) 该方法是从original数组的下标from开始复制,到下标to结束
输出的结果:[32, 42, 34, 2, 1, 57, 4, 3, 56] 这几个数组复制方法是我们最常用的方法。方法的函数体都比较简单,只是我们平时遇到这些方法的次数不多,且比较分散,导致很多人对这些方法都不熟悉。现在我把我们最常用的方法给罗列到一起,希望对大家有所帮助。 |
|