Java数组中的某些字段为空,用于处理这些

Java数组中的某些字段为空,用于处理这些,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我有以下代码片段 说明: 我有一个名为result的数组。 此数组由不同的字符串属性组成,如“city”、“countryName”和“IATA” 使用for循环,我尝试访问和检索前面提到的所有字段 我现在的问题是:虽然“city”和“countryName”总是有一个值,但“IATA”有时没有值,因此会返回我“null”,这会在我访问空的“IATA”时导致nullPointerException 我试过这个: if(entry.getIATA().equals(null)) {

我有以下代码片段

说明: 我有一个名为result的数组。 此数组由不同的字符串属性组成,如“city”、“countryName”和“IATA”

使用for循环,我尝试访问和检索前面提到的所有字段

我现在的问题是:虽然“city”和“countryName”总是有一个值,但“IATA”有时没有值,因此会返回我“null”,这会在我访问空的“IATA”时导致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);

                }
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很高兴我能帮上忙。