if("1".equals(ext_next_level))
{
//根据type过滤
List<Map> filterNode = new ArrayList<Map>();
String type = business.getType(rel_table_name, rel_ids, schema_id);
for(Map map:extNode)
{
if(type.equals(map.get("rel_tab_name").toString()))
{
   filterNode.add(map);
}}
extNode = filterNode;
}

tbom_list.addAll(extNode);}报出下面的错误:Unhandled Exception thrown: class java.lang.NullPointerException
2012-5-25 14:28:11 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.C02.C0201.action.C020101Action.doSelTboms(C020101Action.java:360)
at com.C02.C0201.action.C020101Action.doProcess(C020101Action.java:71)
at com.common.action.BaseAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.init.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    if(null!=map.get("rel_tab_name")&&type.equals(map.get("rel_tab_name").toString()))
      

  2.   

    equals前面的对象如果是null就会报空指针错误
    LZ不放把1楼的条件改成if(type !=null && type.equals(map.get("rel_tab_name").toString())){}
      

  3.   

    stack -> 
    C020101Action.java:360
    不是很明确了吗?找到360行,然后找可能存在null的对象,不就完了?