Java中的数组初始化错误

时间:2014-11-30 15:51:01

标签: java arrays initialization

我正在宣布一个阵列" params"在一种方法。它仅用于该方法,因此这似乎是合适的。后来我在一系列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下方初始化,并在初始化时遇到相同的错误。

如何摆脱初始化错误?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

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

import java.util.ArrayList;
. . . 
ArrayList<String> myList = new ArrayList<String>();

然后添加内容:

myList.add("this");
myList.add("is");
myList.add("a test!");

然后访问它:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在实际设置任何元素之前,您必须创建数组对象(使用new)。

String[] params;
params[0]="";

不正确,因为params还没有元素0

声明为

String[] params = new String[SIZE];

Java中的数组也是固定大小的,因此您必须在构造时知道它们的大小。

对于您不知道所需元素数量的情况,数组不是一个好选择。使用一些更高级别的容器类(在java.util包中找到)。

答案 3 :(得分:0)

使用

String[] params= new String[count];

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