Entfernen von Objekten aus dem Spiel in Java (Eclipse)

lets kommen gleich rein, ich habe eine 'Handler'-Klasse, die voller Getter und Setter ist und die Code enthält, der Objekte hinzufügt und entfernt. Es sieht so aus:

public void addObject(GameObject object){
    this.object.add(object);
}
public void removeObject(GameObject object){
    this.object.remove(object);

Bitte beachten Sie, dass 'GameObject' eine Klasse ist und alle Objekte diese Klasse erweitern
Und dann erstelle ich hier ein Objekt,

if(mouseOver(mx, my, 840/2-100, 149, 200, 64)){
        game.gameState = STATE.Game;
        handler.addObject(new Player(0, 300, ID.Player,game.playerImg, game));
        handler.addObject(new BasicEnemy(700, 300, ID.BasicEnemy, game.enemyImg, game));
        handler.addObject(new F1Jutsu(400, 300, ID.F1Jutsu, game.f1jutsuImg, game));
    }

Das Zeug in den Parametern sind die Parameter des Objekts, das ich hinzufügen möchte. Jedes Objekt ist natürlich eine eigene Klasse. Jetzt möchte ich das Objekt F1Jutsu entfernen, wenn sein x-Wert außerhalb des Spiels liegt, und das Objekt bewegt sich jede Sekunde nach rechts (was so funktioniert, dass ich es hier nicht einfügen werde, wenn ich gefragt werde)

        if(x > 800){
        handler.removeObject(this);
    }

Ich habe dies in einer 'tick'-Funktion (innerhalb der F1Jutsu-Klasse), die einer run-Funktion gleicht. Das Problem ist, dass sobald die removeObject-Methode aufgerufen wird, ich eine Nullzeiger-Ausnahme erhalte, der folgende Fehler:

Exception in thread "Thread-2" java.lang.NullPointerException
at com.ninja.main.F1Jutsu.tick(F1Jutsu.java:24)
at com.ninja.main.Handler.tick(Handler.java:14)
at com.ninja.main.Game.tick(Game.java:110)
at com.ninja.main.Game.run(Game.java:87)
at java.lang.Thread.run(Unknown Source)

Grundsätzlich gibt es eine NullPointerException (im remove a null ?? but its an object) in der F1Jutsu-Klasse, in der angewiesen wird, das Objekt zu entfernen, und dann an jeder Stelle, die die remove object-Methode aufruft, und an jeder Stelle, die den Ort aufruft Das Aufrufen des Objektes remove usw. verursacht einen Fehler.
Ich denke, die Idee könnte sein, dass der x-Wert des Objekts jetzt null ist, was der Nullzeiger (?) Ist, aber nicht sicher, und wenn ja, wie würde ich das beheben?
Es tut mir leid für den langen Beitrag (Kartoffel?)
BEARBEITEN

Linie 24 von F1Jutsu ist:

if(x > 800){
        handler.removeObject(this);
    }

MRK Ich bin mir nicht sicher, was du meinst. Ich habe den Teil, in dem ich das Objekt hinzufüge und wo ich es entferne, in den obigen Code eingefügt.
BEARBEITEN
Okay, nach viel Arbeit bin ich zu dem Schluss gekommen, dass wenn ich das Objekt hinzufüge, es als ein Nullbild hinzugefügt wird. Ich muss fragen, wie ich es auf etwas (das nicht null ist) einstellen kann, ohne die Basis meines Codes (die Parameter) zu ändern

Antworten auf die Frage(2)

Ihre Antwort auf die Frage