参数不是数组 - 使用expand()函数

时间:2017-12-12 18:09:20

标签: java processing

我正在尝试将数组扩展10,但它总是给我错误:

  

java.lang.IllegalArgumentException:Argument不是数组

在代码的最后一行。任何帮助表示赞赏。 编辑:如果不清楚则处理sry。

public class LineInfo {
   public int char_count;
   public int letter_count;
}

LineInfo[] line_info = new LineInfo[1];

public void setup(){
   LineInfo[] line_info = (LineInfo[]) expand(10);
}

1 个答案:

答案 0 :(得分:0)

这样的问题最好由the reference回答:

int[] data = {0, 1, 3, 4};
println(data.length);  // Prints "4"
data = expand(data);
println(data.length);  // Prints "8"
data = expand(data, 512);
println(data.length);  // Prints "512"

请注意expand()函数有两个参数:数组和大小。你只给它一个参数。如果你不给它一个阵列,你期望它扩展什么?

换句话说,改变这一行:

LineInfo[] line_info = (LineInfo[]) expand(10);

对此:

line_info = (LineInfo[]) expand(line_info, 10);

您也可以使用ArrayList代替。