无法返回截断的数组副本

时间:2014-09-27 21:52:16

标签: java arrays copy return

我创建了一个方法,该方法应该创建一个长度最多为原始数组中存储的值的数组的副本。因此,如果我的原始数组的长度为10,并且我只包含4个值,那么该数组的副本应该是3的长度。这是我的代码:

       public int[] getArray(){
             int[] temp = new int[size];
             for(int i = 0; i<size; i++){
                temp[i] = a[i];
                //System.out.print(temp[i] + " ");
        }
        return temp;
     }

我使用print语句来确保它复制数组,但确实如此。当我在main方法中调用此方法时,它会将其打印出来。但是当我注释掉print语句并使用“return temp”时,它返回内存位置。如何在不使用JCF或任何内置方法的情况下打印复制数组中的值?我必须使用return语句,并且方法的名称必须与我们教师提供的规范保持完全相同。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

要输出整个数组,而不仅仅是其地址,请使用java.util.Arrays.toString()

System.out.println(java.util.Arrays.toString(getArray()));
相关问题