0

我的 java 类中有下面的代码。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package webservice;

import java.util.Iterator;
import java.util.List;


public class Webservice {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        ArrayOfString aar = new ArrayOfString();
        aar.getString().add("1025976002");
        aar.getString().add("1026020904");
        aar.getString().add("1026020704");
        aar.getString().add("1026026201");
        aar.getString().add("1026036901");
        aar.getString().add("");
        ArrayOfStatusContainer status = getStatusList(aar);
        List<StatusContainer> li =  status.getStatusContainer(); 
       Iterator litr=li.listIterator();    
      // System.out.println("Elements in forward directiton");   
       while(litr.hasNext()){  
           StatusContainer test = (StatusContainer)litr.next();
          System.out.println(test.getStatus());       
       } 

    }

    private static ArrayOfStatusContainer getStatusList(webservice.ArrayOfString keys) {
        webservice.AdStatusWS service = new webservice.AdStatusWS();
        webservice.AdStatusWSSoap port = service.getAdStatusWSSoap();
        return port.getStatusList(keys);

    }
}

当我输入一个空字符串或输入一个重复的字符串值时,我得到一个空指针异常。我已经尝试了一段时间,但到目前为止我没有找到解决方案。我附上了下面异常的屏幕截图。堆栈跟踪如下:

Sent
Booked
Multiple Errors
Exception in thread "main" java.lang.NullPointerException
In QC
Need correction client
    at webservice.Webservice.main(Webservice.java:34)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

在此处输入图像描述

4

2 回答 2

3

控制台说在第 34 行抛出了 nullpointer 异常,这可能意味着测试变量为 null 并且您正在尝试访问对象的属性 null 验证 null 首先。

 while(litr.hasNext()){  
       StatusContainer test = (StatusContainer)litr.next();
      if(test != null)
          System.out.println(test.getStatus());       
  } 
于 2013-10-11T15:08:51.017 回答
0

确保在从对象访问属性之前始终添加空检查。

于 2013-10-11T15:40:03.190 回答