java List结合调用add()方法往集合里添加数据报空指针异常

如题,网上搜索了下说是没有初始化list集合,但是初始化了还是报空指针异常,贴出代码,加注释的那个地方报异常,求高手帮忙看下啊

 package com.pb.action.ajaxAction;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import net.sf.json.JSONArray;

import com.opensymphony.xwork2.ActionSupport;
import com.pb.dao.RuKuDao;
import com.pb.entity.Yp;
import com.pb.entity.Ypmczd;
import com.pb.service.impl.DgTiJiaoServiceImpl;
import com.pb.util.GetXiTongShiJian;
import com.pb.util.PinYin4j;

public class TjplAjaxAction extends ActionSupport {
    /*private List<String> aList;*/
    private List<String> jsonList;
    private Integer gg;
    private String zxdw;
    private String zxdwdj;
    private Integer cgsl;
    private Integer sbsl;
    private List<String> jsonListTow;


    public String plTiJiao(){
        /*JSONArray jsonArray = JSONArray.fromObject(aList);
        List<Yp> list = JSONArray.toList(jsonArray, Yp.class);*/
        HttpServletRequest request = ServletActionContext.getRequest();
        String[] str=request.getParameterValues("aList");   
        System.out.println(str[0]);
        jsonListTow=new ArrayList<String>();
        for(int i=0;i<str.length;i++){
            String msg=GetXiTongShiJian.getYMDHMSS()+i;
            String[] obj=str[i].split(",",-1);
            System.out.println(obj[2]);
            RuKuDao rkd=new RuKuDao();
            List<Object[]> list=rkd.findYaoPinMC(obj[0]);
            if(list.size()>0){
                sbsl++;
                jsonList.add(String.valueOf(i+1));
            }else{
                if("".equals(obj[3]) || obj[3]==null){
                    gg=1;
                    zxdw=obj[2];
                }else{
                    gg=Integer.parseInt(obj[3]);
                    zxdw=obj[4];
                }
                if("".equals(obj[6]) || obj[6]==null){
                    zxdwdj="0";
                }else{
                    zxdwdj=obj[6];
                }
                Yp yp=new Yp();
                yp.setYpmc(obj[0]);
                yp.setYpkc((new DgTiJiaoServiceImpl().kucunliang(Integer.parseInt(obj[1]), gg)).toString());
                yp.setYpzxdw(zxdw);
                yp.setYpzddw(obj[2]);
                yp.setYpgg(gg.toString());
                yp.setZxdwdj(zxdwdj);
                yp.setZddwdj(obj[5]);
                yp.setYpmcid(msg);
                String pinyin=PinYin4j.getPinYin(obj[0]);
                String shouzimu=PinYin4j.getPinYinHeadChar(obj[0]);
                Ypmczd ypmczd=new Ypmczd();
                ypmczd.setYpmc(obj[0]);
                ypmczd.setYpmcpi(pinyin);
                ypmczd.setYpmcid(msg);
                ypmczd.setShouzimu(shouzimu);
                if(rkd.saveYaoPinRuKu(yp) && rkd.saveYpmczd(ypmczd)){
                    cgsl++;
                    jsonListTow.add(String.valueOf(i+1));//debug走到这里就开始报空指针异常
                }else{
                    sbsl++;
                }
            }

        }

        return "success";
    }
    public List<String> getJsonListTow() {
        return jsonListTow;
    }

    public void setJsonListTow(List<String> jsonListTow) {
        this.jsonListTow = jsonListTow;
    }

    public Integer getCgsl() {
        return cgsl;
    }

    public void setCgsl(Integer cgsl) {
        this.cgsl = cgsl;
    }

    public Integer getSbsl() {
        return sbsl;
    }

    public void setSbsl(Integer sbsl) {
        this.sbsl = sbsl;
    }

    public String getZxdwdj() {
        return zxdwdj;
    }

    public void setZxdwdj(String zxdwdj) {
        this.zxdwdj = zxdwdj;
    }

    public String getZxdw() {
        return zxdw;
    }

    public void setZxdw(String zxdw) {
        this.zxdw = zxdw;
    }

    public Integer getGg() {
        return gg;
    }

    public void setGg(Integer gg) {
        this.gg = gg;
    }
    public List<String> getJsonList() {
        return jsonList;
    }

    public void setJsonList(List<String> jsonList) {
        this.jsonList = jsonList;
    }

}

debug走到注释那一行直接报的异常如图,由于debug不是很熟,也不是道这个异常是不是走到注释那一行报的,反正是走到注释那一就是直接停止了然后出现的,现在把debug报的异常贴出来,如下
图片说明

又分析了下debug,貌似是走到注释那一行的上一行之后再按F6就停止了,开始报异常,难道说这个异常是注释的那一行的上一行的错误????

我貌似知道错误在哪,肯定是cgsl属性没有初始化就用了啊

解决了,犯了低级错误,就是那个属性没有初始化就++了,现在解决了

private List jsonList = new ArrayList();

为了看下面四条答案,竟然不让我看,靠,被迫下载app