java - Java数组中的某些字段为空,处理这些

标签 java arrays nullpointerexception

我有以下代码片段。

说明: 我有一个名为 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/

相关文章:

java - 未经检查的强制转换抽象基类

java - StringTokenizer 中的连续分隔符

javascript - 返回数组中的第一个重复数字

php - 使用 PHP 从多个数据库表中获取数据作为数组

java - 当我需要知道对象何时指向 null 时如何处理 NullPointerException? java

java - 将文件从树莓派发送到智能手机蓝牙

java - Java 应用程序停止或崩溃时的监听器

java - 尝试从 SQLite 数据库获取数据时出现 NullPointerException/CursorOutOfBoundsException

ruby-on-rails - 查找数组的每个子数组包含的值

java - SNMP协议(protocol)中的NullPointerException