[英]Java - Null Pointer Exception when trying to add JLabel and/or JTextField to an array
[英]Null Pointer Exception when trying to add new object to array?
我有一个数组moviefilm,其逻辑大小为15,物理大小为50。我有以下代码:
for(int a=0;a<moviearray.length;a++)
{
if (moviearray[a]!=null)
{
if(moviearray[a].getTitle()==catAddTitle.getText())
{
moviearray[a].addExisting(Integer.parseInt(catAddNumber.getText()));
break;
}
}
else
{
moviearray[a].setTitle(catAddTitle.getText());
moviearray[a].setNumber(Integer.parseInt(catAddNumber.getText()));
moviearray[a].setGenre(catAddGenre.getText());
moviearray[a].setYear(Integer.parseInt(catAddYear.getText()));
moviearray[a].setRating(catAddRating.getSelectedItem());
moviearray[a].setPrice(Double.parseDouble(catAddPrice.getText()));
break;
}
}
我正在尝试使用它,以便当我在catAddTitle(文本字段)中输入电影标题并且与当前在moviearray中的电影匹配时,它将通过在文本字段catAddNumber中输入的数字来增加电影的数量元素。 但是,当我尝试执行此操作时,它在网上给了我一个nullpointerexception:
moviearray[a].setTitle(catAddTitle.getText());
示例:我在数组中的对象之一具有元素“ Hobbit / 55 / Adventure / 2012 / PG-13 / 10.00”(标题,编号,类型,年份,等级,价格)。 应该发生的是,当我在catAddTitle中输入“ Hobbit”,在catAddNumber中输入“ 3”时,它应该将数字更改为“ 58”(尽管有其他文本字段数据)。 提前致谢
在else分支中-仅当moviearray[a] == null
时才执行-您需要
moviearray[a] = new YourObject();
首先,即创建类的实例并将其存储在数组中。
您需要将字符串与equals()而不是==
运算符进行比较
用
if(moviearray[a].getTitle()==catAddTitle.getText())
至
if(moviearray[a].getTitle().equals(catAddTitle.getText()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.