Compiler-Fehler nullPointerException in verschachteltem Modell

erniesBert

Mitglied
Hallo,
ich habe folgende Objekt Modelle:

Code:
public class ItemMain{
    private String type = null;
    private ItemDetail details = new ItemDetail();

    public String getType(){
        return type;
    }

    public String getDetailsDescription(){
        return details.getDescription();
    }

    public int getDetailsInfixId(){
        return details.getInfix().getId();
    }
}

public class ItemDetail{
    private String description = null;
    private InfixObject infix = new InfixObject();

    public String getDescription(){
        return description;
    }

    public InfixObject getInfix(){
        return infix;
    }
}

public class InfixObject{
    private int id = 0;

    public int getId(){
        return id;
    }
}

ich bekomme überall Daten zurück ausser bei getDetailsInfixId(), da wird eine NullPointerException geworfen. Warum funktioniert das so bei getDetailsDescription() aber bei getDetailsInfixId() nicht?

Das Objekt wird mit Daten gefüllt. Das sehe ich wenn ich es in ItemDetail auf der console ausgeben lasse.

Code:
    public InfixObject getInfix(){
        System.out.println(infix.getId());
        return infix;
    }
 

Robat

Top Contributor
Bist du dir sicher, dass die NPE in der Methode getDetailsInfixId() geworfen wird?
Dein Code scheint mir soweit richtig zu sein.
Poste am Besten mal den gesamten StackTrace. Der Fehler wird wohl woanders liegen.
 

erniesBert

Mitglied
Danke fürs Anschauen, ja bin ich mir ziemlich sicher. Ich habe den code allerdings abgeschrieben, zur Vollständigkeit hier noch mal der kopierte, gekürzte weil der Klassenname sonst nicht ganz zum stacktrace passt:
Java:
   public class ItemDetailObject{
       private String               description = null;
       private InfixObject           infix_upgrade = new InfixObject();
     
       public InfixObject getInfixUpgrade(){
           System.out.println(infix_upgrade.getId()); //(zeile 292)
           return infix_upgrade;
       }
   }
 
   public class InfixObject{
       private int id = 0;

       public int getId(){
           return id;
       }
   }
     
   public class ItemMainObject{
       private String type = null;
       private ItemDetailObject details = new ItemDetailObject();

       public String getType() {
           return type;
       }
     
       public String getDetailDescription(){
           return details.description;
       }
     
       public int getDetailInfixUpgradeId(){
           return details.getInfixUpgrade().getId(); //(zeile 521)
       }
   }

und hier das stacktrace:
Java:
java.lang.NullPointerException
   at gw2p.JSON$ItemDetailObject.getInfixUpgrade(JSON.java:292)
   at gw2p.JSON$ItemMainObject.getDetailInfixUpgradeId(JSON.java:521)
   at gw2p.SQLiteJDBC.fillItemMainObject(SQLiteJDBC.java:757)
   at gw2p.DbHelper$Task.doInBackground(DbHelper.java:108)
   at gw2p.DbHelper$Task.doInBackground(DbHelper.java:1)
   at javax.swing.SwingWorker$1.call(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at javax.swing.SwingWorker.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Die Zeile 292 gibt die richtige ID auf der console aus. Also das Objekt existiert soweit ich das beurteilen kann. Wenn ich die Zeile auskommentiere dann wird der Fehler in Zeile 521 geworfen.
Die IDE ist Eclipse.
 
Zuletzt bearbeitet:

Robat

Top Contributor
Dennoch kann ich den Fehler nicht reproduzieren.
Kann es sein, dass du uns relevanten Code vorenthältst?

Wie / wo rufst du die Methode getInfixUpgrade() denn auf?
Sind das alles eigenständige Klassen oder sind die es innere Klassen einer Klasse?
 

erniesBert

Mitglied
Ich denke nicht.
Es sind innere Klassen der JSON Klasse.
Aufgerufen werden die Methoden aus einer anderen Klasse:

Zeile 757 von SQLiteJDBC.fillItemMainObject:
Java:
int detailInfixUpgrdId = itemMainObject.getDetailInfixUpgradeId();

dort werden auch alle anderen Methoden wie
Java:
getDetailDescription()
an der selben Stelle aufgerufen und die funktionieren ja.

Meine JSON Klasse ruft Daten von einer URL ab und konvertiert die JSON Daten mittels Gson() in die entsprechenden Objekte. Die Werte für
Java:
getDetailInfixUpgradId()
sind allerdings untergeordnete Objekte in einem JSON Objekt. Aber da es die ID ja in der console richtig ausgibt, sind die Daten auch richtig in das entsprechende Objekt konvertiert worden.
In der eigenständigen SQLiteJDBC Klasse werden die Werte dann Variablen zugewiesen und in eine Datenbank geschrieben.
Wie ist der BB-Code für Inline code?
 

erniesBert

Mitglied
Das Problem ist gelöst. Der Fehler wurde erst im zweiten Durchlauf geworfen. Da war dann das Objekt InfixObject() selbst nicht mehr vorhanden und somit konnte auch kein ID Parameter vorhanden sein.

Wobei ich der Meinung war das der ID Parameter ja trotzdem deklariert und initialisiert wird und somit zumindest 0 enthalten sollte. Aber anscheinend legt Gson() das Objekt gar nicht erst an wenn das entsprechende Objekt nicht in den JSON Daten vorhanden ist.

Danke für die Hilfe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2
L NullPointerException lösen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben