我有以下代码片段。
说明: 我有一个名为 result 的数组。 该数组由不同的字符串属性组成,例如“city”、“countryName”和“IATA”。
通过 for 循环,我尝试访问和检索所有上述字段。
我现在的问题是:虽然“city”和“countryName”始终有一个值,但“IATA”有时没有值,因此返回“null”,一旦我访问空值,就会导致 nullPointerException “国际航空运输协会”。
我尝试过这个:
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);
}
非常感谢您的宝贵时间和帮助!
最佳答案
在访问对象的属性之前执行简单的 null 检查。
if(entry != null && entry.getIATA() != null){
startIATA[count] = entry.getIATA();
}
关于java - Java数组中的某些字段为空,处理这些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14748642/