如何将长度未知的String数组初始化为null?

时间:2015-02-21 06:47:36

标签: java arrays string prolog initialization

我正在研究连接Prolog和Java GUI的程序。我遇到了这个问题,我不知道prolog程序将传递给java多少解决方案,因此我不能声明具有固定长度的String数组。这是我的代码:

String[] options; int i;
Query qMeat = new Query(new Compound("meat", new Term[] {new Variable("X")}));
i = 0;

while(qMeat.hasMoreSolution()){
   options[i] = "" + qMeat.nextSolution().get("X");
   i++;
}

我得到这个NullPointerException,我猜是因为我没有将String数组初始化为null。而且我不知道该怎么做。我试过java.util.Arrays.fill(options,"")但没有帮助=(

请帮忙。

1 个答案:

答案 0 :(得分:4)

如果您事先不知道所需的数组大小,则应使用ArrayList。

List<String> options = new ArrayList<>();
while(qMeat.hasMoreSolution()){
   options.add("" + qMeat.nextSolution().get("X"));
}