java - 如何创建需要参数的对象数组

标签 java arrays nullpointerexception jbutton

我这里有一些代码

final Ship[] Ships = new Ship[3];

for(int x = 0; x < 3; x++)
{
    Ships[x].setText("Set Ship length: " + (x+1)); // this line in particular
}

我收到一个空指针异常,我认为这是因为 Ships 对象在其包含的构造函数的参数中需要一个字符串和一个 int,您应该如何创建每个对象都需要参数的对象数组?

最佳答案

更改下面的代码..

final Ship[] Ships = new Ship[3];

for(int x = 0; x < 3; x++)
{
    Ships[x].setText("Set Ship length: " + (x+1)); // this line in particular
}

到...

final Ship[] Ships = new Ship[3];

for(int x = 0; x < 3; x++)
{
    String stringValue = "Set Ship length: " + (x+1); //string you want in your ship object
    int intValue = 0; //int you want in your ship object..
    Ship ship = new Ship(stringValue, intValue);
    Ships[x] = ship;
    Ships[x].setText("whatever string your heart desires"); // this line in particular
}

您正在创建一个 Ship 类型的数组,但您从未将任何内容分配给该数组。因此,当您尝试设置数组中元素的文本时,您正在尝试将文本设置为空值,这将导致空指针异常

相反,您需要做的是首先创建一个 Ship 类型的对象,如我上面所示,然后传入您在问题。然后将此新对象添加到您的数组中。现在您可以访问数组中的对象并调用该对象的方法。

关于java - 如何创建需要参数的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23976650/

相关文章:

c# - 初始化大型锯齿状数组会占用超过 1 GB 的 RAM 并因 StackOverflowException 而崩溃

php - 检查数据库中的新条目

android - 在 Android Activity 中出现 nullPointerException,但不知道原因以及如何解决

Java-又叫什么: <String> <>

Java - 如何检查两个 ArrayList 是否是唯一对象(即使它们具有相同的值)?

javascript - 如何更新数组中的对象详细信息?

java: 三元运算符中的奇怪 NullPointerException (?:)

java - 模拟对象上的 Mockito NullPointerException

java - Liferay 6.2 部署失败,缺少/不可用的 JBoss 依赖项

用于根据特定字段对对象列表进行排序的 java 8 流