浏览 3083 次
锁定老帖子 主题:不用循环Copy数组的方法
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-17
arraycopy(Object src, int srcPos,Object dest, int destPos,int length); 这是在看源代码的时候,看到方法。简单的说就是src是源数组。dest是目标数组。srcPos,和destPos的变量是起始位置,然后length是长度。具体可以看调用。 这个方法是一个native的方法。
然后我想了一个在数组中插入的方法。可以不用循环。
/** * 主要作用目的是让数组能够完成插入的操作。 * 比方说长度为10的char数组,在位置5,插入一个长度为2的数组,产生一个新的数组,长度为12。 */ @Test public void insertChar(){ String src ="abcdefghjk"; String insert = "xy"; char[] srcArray = src.toCharArray(); char[] desArray = new char[12]; char[] insertArray = insert.toCharArray(); int position = 5; //复制Position之前的 System.arraycopy(srcArray, 0, desArray, 0, position); System.arraycopy(insertArray, 0, desArray, position, insert.length()); System.arraycopy(srcArray, position, desArray, position + insert.length(),src.length()- position); logger.info("des array size:"+srcArray.length); logger.info("des array:"+srcArray.toString()); int i = 1; for(char c:desArray){ logger.info(i+" char:"+c); i++; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-18
楼主,这个方法在刚接触java的时候就应该会用了
|
|
返回顶楼 | |
发表时间:2011-12-26
在字符串指定位置插入另一个字符串
String temp = src.substring(0, position)+insert+src.substring(position,l1); |
|
返回顶楼 | |
发表时间:2012-04-09
clone() 也是一个不错的想法啊
|
|
返回顶楼 | |