Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的数组初始化错误_Java_Arrays_Initialization - Fatal编程技术网

Java中的数组初始化错误

Java中的数组初始化错误,java,arrays,initialization,Java,Arrays,Initialization,我在一个方法中声明一个数组参数。它仅在方法中使用,因此这似乎是合适的。后来我在一系列IF语句中使用它。在引用数组的第一条语句中,NetBeans抱怨变量可能从未初始化过。以下是前几行的示例: private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) { String[] params; int count =

我在一个方法中声明一个数组参数。它仅在方法中使用,因此这似乎是合适的。后来我在一系列IF语句中使用它。在引用数组的第一条语句中,NetBeans抱怨变量可能从未初始化过。以下是前几行的示例:

    private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String[] params;
    int count = 0;

    if (txtCoN.getText() != null){
        params[count] = "Company like " + txtCoN.getText();
        ++count;    
我尝试使用params[0]=在delcaration的正下方初始化;并在初始化时得到相同的错误

如何消除初始化错误


提前感谢您的帮助。

您必须分配一个具有指定大小的数组,您不能只添加更多这样的元素。如果您想要扩展以添加更多元素,则可能需要使用ArrayList。

在实际能够设置其任何元素之前,必须使用new创建数组对象

String[] params;
params[0]="";
不正确,因为params还没有元素0

宣布

String[] params = new String[SIZE];
Java中的数组也是固定大小的,因此在构建时必须知道它们的大小

对于不知道需要多少元素的情况,数组不是一个好的选择。使用java.util包中的更高级容器类。

使用

String[] params= new String[count];

要创建一个新数组,可以将变量计数更改为数组中的项目数量。

正如一些人已经说过的,使用ArrayList。这就是你使用它们的方式

import java.util.ArrayList;
. . . 
ArrayList<String> myList = new ArrayList<String>();
然后访问它:

myList.get(0)
myList.get(1)
myList.get(2)

字符串[]参数=新字符串[N];。如果您不确定它的大小,请改用ArrayList。谢谢大家的评论。这很有帮助。我重新阅读了阵列文档,显然没有声明大小。我会把数组列表作为一个备选方案,这是一个灾难配方。params[count]将失败。仅使用0作为占位符,将更改为variableAnyway,在这种情况下,您应该建议使用ArrayList。是的,本打算这样做,但有人抢先了我一步
myList.get(0)
myList.get(1)
myList.get(2)