• Java 数组元素复制的三种方法


    一、将数组元素逐个复制到目标数组中

    例1

         //源数组
            int[] source = {10,30,20,40};
            //目标数组
            int[] target = new int[source.length];
            for (int i = 0;i < source.length;i++){
                target[i] = source[i];
            }

    二、使用System类的arraycopy()方法

    public static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length)

    例2

    package com.demo;
    public class ArrayCopyDemo{
       public static void main(String[] args){
         int[] a = {1,2,3,4};
         int[] b ={8,7,6,5,4,3,2,1};
         int[] c = {10,20};
         try{
            System.arraycopy(a, 0, b, 0, a.length);
            // 下面语句发生异常,目标数组c容纳不下原数组a的元素
            System.arraycopy(a, 0, c, 0, a.length);
         }catch(ArrayIndexOutOfBoundsException e){
            System.out.println(e);
         }
         for(int elem: b){
           System.out.print(elem+"  ");
         }
         System.out.println();
         for(int elem: c){
           System.out.print(elem+"  ");
         }
         System.out.println("
    ");
       }
    }

    注意:如果目标数组不足以容纳源数组元素,会抛出异常

       java.lang.ArrayIndexOutOfBoundsException(数组下标越界异常)

    三、使用Arrays类的copyOf()方法和copyOfRange()方法

    1、copyOf()方法格式

    以整型为例

    如果newLength小于源数组的长度,则将源数组的前面若干个元素复制到目标数组。

    如果newLength大于源数组的长度,则将源数组的所有元素复制到目标数组。

    如:

    2.copyOfRange()方法格式

    以字符型为例

     

    如:

    上述代码执行后,letter数组的长度变为4,包含'b'、'c'、‘d’、'e'4个元素

  • 相关阅读:
    网络知识学习系列(一)
    C# 开发系列(三)
    angularJS 系列(三)- 自定义 Service
    添加百度地图,显示定位
    angularJS 系列(二)——理解指令 understanding directives
    angularJS 系列(一)
    hbuilder 手机app开发系列(一)
    vue + 百度地图api
    百度地图api
    canvas的api
  • 原文地址:https://www.cnblogs.com/my-program-life/p/11020422.html
Copyright © 2020-2023  润新知