Java数组中的某些字段为空,用于处理这些
我有以下代码片段 说明: 我有一个名为result的数组。 此数组由不同的字符串属性组成,如“city”、“countryName”和“IATA” 使用for循环,我尝试访问和检索前面提到的所有字段 我现在的问题是:虽然“city”和“countryName”总是有一个值,但“IATA”有时没有值,因此会返回我“null”,这会在我访问空的“IATA”时导致nullPointerException 我试过这个:Java数组中的某些字段为空,用于处理这些,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我有以下代码片段 说明: 我有一个名为result的数组。 此数组由不同的字符串属性组成,如“city”、“countryName”和“IATA” 使用for循环,我尝试访问和检索前面提到的所有字段 我现在的问题是:虽然“city”和“countryName”总是有一个值,但“IATA”有时没有值,因此会返回我“null”,这会在我访问空的“IATA”时导致nullPointerException 我试过这个: if(entry.getIATA().equals(null)) {
if(entry.getIATA().equals(null)) {
} else {
startIATA[count] = entry.getIATA();
}
但是,当我试图访问一个空字段时,这个if条件不起作用。
有人知道我如何解决这个问题吗
以下是相关的代码片段:
private String[] startIATA = new String[200]; //That is more than long enough
...
for (int count = 0; count < result.getAirports().length(); count++) {
AirportsEntry entry = result.getAirports().get(count);
// Block for StartAirport
HorizontalPanel hp = new HorizontalPanel();
hp.setSpacing(5);
hp.add(new Label(entry.getCity()));
hp.add(new Label(entry.getCountryName()));
hp.add(new Label(entry.getIATA()));
GWT.log("IATA: " + entry.getIATA());
if(entry.getIATA().equals(null)) {
} else {
startIATA[count] = entry.getIATA();
}
startAirportVP.add(hp);
}
private String[]startIATA=新字符串[200]//这已经足够长了
...
对于(int count=0;count
非常感谢您的时间和帮助 在访问对象的属性之前执行简单的空检查
if(entry != null && entry.getIATA() != null){
startIATA[count] = entry.getIATA();
}
在访问对象的属性之前执行简单的空检查
if(entry != null && entry.getIATA() != null){
startIATA[count] = entry.getIATA();
}
不能使用
equals
方法检查空值。使用==
:
if (entry.getIATA () == null)
不能使用
equals
方法检查空值。使用==
:
if (entry.getIATA () == null)
使用以下命令:
如果(entry.getIATA()!=null)使用此选项:
如果(entry.getIATA()!=null)我认为你不能在null上做相同的事情,可以吗?你不需要做一个“==”比较吗?这是因为“=”试图调用对象上的方法(这就是“.”的意思:调用方法)。但是,因为您的对象为null,所以它会出错,因为您无法对不存在的对象调用方法。相反,你可以用“==”来检查对象是否为空。谢谢你的回答。我认为你不能在空上做相等的事情,是吗?你不需要做一个“==”比较吗?这是因为“=”试图调用对象上的方法(这就是“.”的意思:调用方法)。但是,因为您的对象为null,所以它会出错,因为您无法对不存在的对象调用方法。相反,您可以使用“==”检查对象是否为空。谢谢您的回答非常感谢您的快速回答!它工作正常:)@user2039697很高兴我能帮上忙。非常感谢您的快速回答!它工作正常:)@user2039697很高兴我能帮上忙。