m0_64903497 2022-06-29 07:20 采纳率: 81%
浏览 243
已结题

在Java中如何把一个数组的所有元素放到另一个空数组中

数组a{1,2,3}
数组b{}
在Java中如何把数组a里所以的元素放到空数组b中

  • 写回答

6条回答 默认 最新

  • 菜鸟码农一枚 2022-06-29 14:01
    关注
    int[] a = {1, 2, 3,4};
    int[] b = {};
    b = Arrays.copyOf(a, a.length);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 专业些bug中 2022-06-29 08:44
    关注

    直接copy
    Arrays.copyOf(dataType[] xxx,int length);
    xxx表示要进行复制的数组,length 表示复制后的新数组的长度

    评论
  • weixin_45153560 2022-06-29 08:37
    关注
    
    public class Test01 {
        //直接等于就好了
        public static void main(String[]args) {
            int []arr= {1,2,3,4,5};  //原数组
            int []arr1 =arr;        //要复制的数组
            System.out.println(Arrays.toString(arr1));
        }
    }
    
    
    评论
  • it_hao528 2022-06-29 10:05
    关注

    使用Arrays.copyOf(原始数组, 要复制的长度)进行复制。

    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {};
        b = Arrays.copyOf(a, a.length);
        a[2] = 10;
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.toString(b));
    }
    

    这样a和b就没什么联系了,修改a的值不会影响b
    如果使用b=a;其实就是把a的地址给了b,也就是a和b指向相同的地址,修改a,b也会跟着修改,修改b,a也会跟着修改。
    根据需求选择使用方案。

    评论
  • 陈脩 2022-06-29 10:10
    关注

    使用System.arraycopy方法,将a从索引位置0 copy 到b也是从索引位置为0开始接收,长度为a的数组长度

    
       int[] a = new int[]{1, 2, 3};
            int[] b=new int[a.length];
            System.arraycopy(a,0,b,0,a.length);
    
    评论 编辑记录
  • 大大泡泡糖1996 2022-06-29 11:18
    关注
    
    public static void main(String[] args) {
            int[] a = { 1, 2, 3 };
            int[] b = new int[a.length];
            for (int i = 0; i < a.length; i++) {
                b[i] = a[i];
            }
            System.out.println(Arrays.toString(a));
        }
    
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 7月8日
  • 已采纳回答 6月30日
  • 创建了问题 6月29日

悬赏问题

  • ¥15 Java环境配了,但启用不成功。
  • ¥15 求一个智能家居控制的代码
  • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
  • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
  • ¥20 求各位能用我能理解的话回答超级简单的一些问题
  • ¥15 yolov5双目识别输出坐标代码报错
  • ¥15 这个代码有什么语法错误
  • ¥15 给予STM32按键中断与串口通信
  • ¥15 使用QT实现can通信
  • ¥15 关于sp验证的一些东西,求告知如何解决,