Today I got a NullPointerException at the point where this cannot actually happen.
Exception in thread "Timer-9" java.lang.NullPointerException at packagename.censored.Bot.changeServergroups(Bot.java:1363) at packagename.censored.Bot.xpTask(Bot.java:1239) at packagename.censored.Bot.access$7(Bot.java:1187) at packagename.censored.Bot$9.run(Bot.java:729) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)
This is an important piece of code:
public void changeServergroups(int cldbid, ArrayList<Integer> addList, ArrayList<Integer> removeList) { // If there are groups to add AND delete, remove them from the lists if (addList != null && removeList != null) { ArrayList<Integer> temp = new ArrayList<Integer>(addList); for (int s : temp) { // THIS IS LINE 1363 if (removeList.contains(s)) { addList.remove((Integer) s); removeList.remove((Integer) s); } } } // some more code, to do the actual group changes }
How can I get a NullPointerException here? I verify that addList not null before creating a new temporary ArrayList from it. Can someone tell me how this could return in a NullPointerException?
source share