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