如何在返回类型为int []的函数中声明一个未知长度的整数数组?

时间:2016-01-20 03:28:41

标签: java arrays integer

如何在返回类型为int []?

的函数中声明一个未知长度的整数数组

例如:

public int[] foo(){

 int[] = new int[]; //unknown size???
}

4 个答案:

答案 0 :(得分:1)

if pic.jpg == jpeg file then

答案 1 :(得分:0)

使用ArrayList

function ArrayList<Integer> foo(){
    List<Integer> l = new ArrayList<Integer>();
    l.add(1); // add number 1 to the list
    return l;
}

或者查看此内容:http://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html#varargs

  

您可以使用名为varargs的构造来传递任意数量的构造   方法的值。当你不知道有多少时,你会使用varargs   特定类型的参数将传递给该方法。这是一个   手动创建数组的快捷方式(以前的方法可能有   使用varargs而不是数组。)

     

要使用varargs,请按照最后一个参数的类型进行操作   省略号(三个点,...),然后是空格和参数名称。该   然后可以使用任意数量的参数调用方法,包括   无。

答案 2 :(得分:0)

这是你可以做到的:

public int[] test ( int[]b )
{
    ArrayList<Integer> l = new ArrayList<Integer>();
    Object[] returnArrayObject = l.toArray();
    int returnArray[] = new int[returnArrayObject.length];
    for (int i = 0; i < returnArrayObject.length; i++){
         returnArray[i] = (Integer)  returnArrayObject[i];
    }

    return returnArray;
}   

答案 3 :(得分:0)

我得到了这个答案..这完全没问题。感谢所有人的投入..

public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    Iterator<Integer> iterator = integers.iterator();
    for (int i = 0; i < ret.length; i++)
    {
        ret[i] = iterator.next().intValue();
    }
    return ret;
}