Java 如何将长度未知的字符串数组初始化为null?
我正在开发这个连接Prolog和JavaGUI的程序。我遇到了这样一个问题,我不知道prolog程序将向java传递多少个解决方案,因此我不能声明固定长度的字符串数组。这是我的代码:Java 如何将长度未知的字符串数组初始化为null?,java,arrays,string,prolog,initialization,Java,Arrays,String,Prolog,Initialization,我正在开发这个连接Prolog和JavaGUI的程序。我遇到了这样一个问题,我不知道prolog程序将向java传递多少个解决方案,因此我不能声明固定长度的字符串数组。这是我的代码: String[] options; int i; Query qMeat = new Query(new Compound("meat", new Term[] {new Variable("X")})); i = 0; while(qMeat.hasMoreSolution()){ options[i]
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,我想这是因为我没有将字符串数组初始化为null。我不知道该怎么做。我尝试了java.util.array.fill(选项“”)
,但没有帮助=(
请提供帮助。如果您事先不知道所需的数组大小,则应使用ArrayList
List<String> options = new ArrayList<>();
while(qMeat.hasMoreSolution()){
options.add("" + qMeat.nextSolution().get("X"));
}
List options=new ArrayList();
while(qMeat.hasMoreSolution()){
options.add(“+qMeat.nextSolution().get(“X”));
}
您在问“如何在Java中创建数组?”(声明包含数组引用的变量与创建数组不同)嗯…对不起。我的意思是..我如何将长度未知的字符串数组初始化为null..因为我得到了这个NullPointerException,因为我没有初始化它。有办法吗?(对不起,我的英语很差。)@Ye'ThuraAg没有办法。你必须像@Eran建议的那样使用ArrayList
below@Ye'ThuraAg它已经初始化为null,这就是为什么会出现异常。啊..非常感谢^ ^我还没有尝试过。