Java 初始化的ArrayList对象上的NullPointerException

Java 初始化的ArrayList对象上的NullPointerException,java,android,nullpointerexception,hashmap,Java,Android,Nullpointerexception,Hashmap,我已经阅读了我的问题,并试图纠正它。但是NullPointerException的错误不会发生。变量dataa是我从以前的活动中获得的,变量dataa\u OLD是我从TinyDB中检索的。我提到了如何将HashMap数据列表存储到SharedReference中 ... List<Map<String, String>> dataa= new ArrayList<>(); List<Map<String, String>> data

我已经阅读了我的问题,并试图纠正它。但是
NullPointerException
的错误不会发生。
变量
dataa
是我从以前的活动中获得的,变量
dataa\u OLD
是我从
TinyDB
中检索的。我提到了如何将
HashMap
数据列表存储到SharedReference中

...
 List<Map<String, String>> dataa= new ArrayList<>();
List<Map<String, String>> dataa_OLD= new ArrayList<>();
Map<String, String> mapp = new HashMap<String, String>();
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...

//Retrieving HashMap-lists from TinyDB
Gson gson = new Gson();
String mapListString= tinyDB.getString("DATA");
String mapListStringOLD= tinyDB.getString("DATA_OLD");
Type type = new TypeToken<ArrayList<Map<String,String>>>() {}.getType();
dataa = gson.fromJson(mapListString,type);
dataa_OLD = gson.fromJson(mapListStringOLD,type);

if(dataa.size()!=0) {
        for (Map<String, String> map : dataa) {
            parked_addrs.add(map.get("ADDRS"));//adding address part in another list
        }
        tinyDB.putListString("paddrslist", parked_addrs);

        if(dataa_OLD!=null) {
            for (Map<String, String> map : dataa) {    //adding new-list in old-list one by one
                mapp.put("ADDRS", map.get("ADDRS"));
                mapp.put("DATE", map.get("DATE"));
                dataa_OLD.add(mapp);
            }
        }
        else {
            mapp.put("ADDRS","");
            mapp.put("DATE","");
            dataa_OLD.add(0,mapp);
            dataa_OLD.addAll(dataa); // Line on which getting the error
        }
    }
。。。
List dataa=new ArrayList();
List dataa_OLD=new ArrayList();
Map mapp=newhashmap();
...
@凌驾
创建时受保护的void(Bundle savedInstanceState){
...
//从TinyDB检索HashMap列表
Gson Gson=新的Gson();
String mapListString=tinyDB.getString(“数据”);
String mapListStringOLD=tinyDB.getString(“数据旧”);
Type Type=new-TypeToken(){}.getType();
dataa=gson.fromJson(mapListString,类型);
dataa_OLD=gson.fromJson(mapListStringOLD,类型);
如果(dataa.size()!=0){
用于(映射:dataa){
parked_addrs.add(map.get(“addrs”);//在另一个列表中添加地址部分
}
tinyDB.putListString(“paddrslist”,驻车地址);
if(dataa_OLD!=null){
对于(Map:dataa){//在旧列表中逐个添加新列表
mapp.put(“ADDRS”,map.get(“ADDRS”);
map.put(“日期”),map.get(“日期”);
数据a_OLD.add(mapp);
}
}
否则{
mapp.put(“地址”,“地址”);
mapp.put(“日期”、“日期”);
dataa_OLD.add(0,mapp);
dataa_OLD.addAll(dataa);//获取错误的行
}
}


堆栈跟踪

致命异常:主 进程:com.example.acer.mylocationmap,PID:30082 java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.acer.mylocationmap/com.example.acer.mylocationmap.DisplayStorageActivity}:java.lang.NullPointerException:尝试对空对象引用调用接口方法“void java.util.List.add(int,java.lang.Object)” 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3190)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) 在android.app.ActivityThread.access$1000(ActivityThread.java:211) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:145) 位于android.app.ActivityThread.main(ActivityThread.java:6946) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:1404) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 原因:java.lang.NullPointerException:尝试在空对象引用上调用接口方法“void java.util.List.add(int,java.lang.Object)” 位于com.example.acer.mylocationmap.DisplayStorageActivity.onCreate(DisplayStorageActivity.java:115) 位于android.app.Activity.performCreate(Activity.java:6575) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143) 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) 在android.app.ActivityThread.access$1000(ActivityThread.java:211) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:145) 位于android.app.ActivityThread.main(ActivityThread.java:6946) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com