当前位置: 首页 > 面试题库 >

正确复制阵列

艾俊悟
2023-03-14
问题内容

我从笔记中发现了两个有关复制数组的示例。

下面给出的第一个示例指出,这不是复制数组的方法。但是,当我尝试运行代码时,它设法将所有值从array1复制到array2。

    int []array1={2,4,6,8,10};
    int []array2=array1;
    for(int x:array2){
        System.out.println(x);
    }

给出的第二个示例是说复制数组的正确方法。

int[] firstArray = {5, 10, 15, 20, 25 };
int[] secondArray = new int[5];
for (int i = 0; i < firstArray.length; i++)
  secondArray[i] = firstArray[i];

我的问题是,这两个示例是否适合在编码中应用,还是首选示例2?如果您是我的讲师,那么我将应用示例1。与示例2的方法相比,我将获得更少的评分或完全相同?


问题答案:

第一个示例不复制任何内容。它将原始数组的引用分配给新变量(array2),因此两个变量(array1array2)都引用同一个数组对象。

第二个示例实际上创建了第二个数组,并将原始数组的内容复制到其中。

还有其他更简单的复制数组的方法。您可以使用Arrays.copyOfSystem.arraycopy代替通过forhtml" target="_blank">循环显式复制数组的元素。

int[] secondArray = Arrays.copyOf (firstArray, firstArray.length);

要么

int[] secondArray = new int[firstArray.length];
System.arraycopy(firstArray, 0, secondArray, 0, firstArray.length);


 类似资料:
  • 问题内容: 我正在本地计算机上的Tomcat 7上设置群集/复制,以评估它是否可与我的环境/代码库一起使用。 建立 我在不同端口上运行的同级目录中有两个相同的tomcat服务器。我已经在其他两个端口上监听了httpd,并作为VirtualHosts连接到了两个tomcat实例。我可以在配置的端口上访问两种环境并与之交互。一切都按预期进行。 Tomcat服务器在server.xml中启用了集群功能:

  • 我的问题是无法使用和。所以我尝试使用XPath来选择对象,它可以工作,但我无法复制对象并再次添加它。 例如: 我还尝试创建一个自己的对象,但这对我来说也不起作用,因为它没有被接受为JAXB对象。 这是我的代码: 我重新创建了这个问题,因为我想旧的问题有点让人困惑。 我的XML文档(Document.getXML()) 我需要选择文本字段,进行邮件合并,我的计划是复制和移动字段。如果有更好的方法,我

  • 这是我正在使用的代码,从csv中获取行,将它们存储到一个名为userDetails的字符串数组中,然后从这个数据中获取从第四个值开始的userDetails的所有值(userDetails[3]),并将它们放入一个名为scores的二维整数数组中。 台词: 创建用户类的新实例,并传递3个字符串(第一个=用户名,第二个=密码,第三个=用户类型(无论是教师、学生还是管理员)),连同这3个字符串,它传递

  • 我试图确定数组中的位置。我真的不确定如何处理这种情况

  • 我有一个。mp4视频文件,包含高级3.1“avc1.64001f”视频和低复杂度AAC“mp4a.40.2”音频。 如何通过使用libfdk_aacFFmpeg编码器将低复杂度AAC转换为“HE-AAC”音频编解码器并保持/获得尽可能好的质量?我只想将“avc1.64001f”视频复制到目标文件中。

  • 我有两个VBO,我试图渲染,它们在屏幕上应该有两个不同的位置。当我试图修改其中一个VBO的位置时,它会被转移到另一个VBOs。 示例-我更改了对象2的y位置,对象1和对象2现在都存在于该y位置。 我用于转换VBO的代码: 请注意位置,旋转,缩放都是Vector3fs,modelMatrix是well,模型矩阵。 此外,这是一个工具包。degToRad类似于数学。toRadians()类型的方法。