list add问题。。。为什么注释掉之后就抛异常了,求解答!!

        for (AdScheduleResourceGson origin : scheduleResourceGsonList) {
            boolean before = origin.getStartMin().compareTo(minsList.get(i)) <= 0;
            boolean after = origin.getEndMin().compareTo(minsList.get(i + 1)) >= 0;
            if (before & after) {
                List<AdScheduleResourceGson> resources = tmp.getResources();

// if (resources == null) {
// resources = new ArrayList();
// tmp.setResources(resources);
// }
System.out.print("cacacacaaaaa");
try {
resources.add(origin);
} catch (Exception e) {
System.out.print("hahahaha");
}
}
}

没有初始化所以报错了。 // resources = new ArrayList(); 初始化

抛的什么异常?空指针?

我也觉得应该是空指针异常,因为List resources = tmp.getResources(); 这一句代码是不一定能拿到对象的,有可能返回的是一个null,这时又没有对List进行初始化就直接用,就报空指针了,因此为了防止空指针,建议楼主在List resources = tmp.getResources();这一句代码之前就对List进行初始化