如何在返回类型为int []?
的函数中声明一个未知长度的整数数组例如:
public int[] foo(){
int[] = new int[]; //unknown size???
}
答案 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;
}