NullPointerException < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Es geht um folgenden "Teilcode" http://pastebin.com/W2y3W8TP..
Der Rest des Codes ist eigentlich nicht von Bedeutung.
Mein Problem ist, dass wenn ich versuche die Methode put() über ein von mir erzeugtes Objekt aufzurufen, in Zeile 22 eine NullPointerException geworfen wird, was ich mir nicht erklären kann. Normalerweise würde diese Exception ja bedeuten, dass die LinkedList noch gar nicht existiert, die ja eigentlich im Konstruktor erzeugt werden sollte.
Hat jemand eine Idee wo mein Denkfehler liegen könnte? Würde mich über jeden Tip freuen.
Bei Bedarf kann ich den restliche Code nachreichen.
Es geht um die Programmiersprache java.
mfg
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:55 Mo 18.06.2012 | Autor: | felixf |
Moin!
> Es geht um folgenden "Teilcode"
> http://pastebin.com/W2y3W8TP..
> Der Rest des Codes ist eigentlich nicht von Bedeutung.
> Mein Problem ist, dass wenn ich versuche die Methode put()
> über ein von mir erzeugtes Objekt aufzurufen, in Zeile 22
> eine NullPointerException geworfen wird, was ich mir nicht
> erklären kann.
Ist vielleicht b < 0?
> Normalerweise würde diese Exception ja
> bedeuten, dass die LinkedList noch gar nicht existiert, die
> ja eigentlich im Konstruktor erzeugt werden sollte.
> Hat jemand eine Idee wo mein Denkfehler liegen könnte?
> Würde mich über jeden Tip freuen.
Verwende doch mal debug-Ausgaben. Also schreib an strategisch gut gewaehlte Stellen ein System.out.println("x = " + x); rein fuer verschiedene Variablen x. Damit solltest du schnell herausfinden, wo etwas schiefgeht.
LG Felix
|
|
|
|
|
Naja ist ja nich so das ichs nicht versucht habe. Habe einige debugg prints gemacht b und hashsize geben korrekte werte zurück, daher habe ich echt keine Ahnung woran das liegt.
Daher meine Frage an Leute die vllt mehr Ahnung haben als ich :)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:17 Mo 18.06.2012 | Autor: | Marc |
Hallo Lehrling21,
> Naja ist ja nich so das ichs nicht versucht habe. Habe
> einige debugg prints gemacht b und hashsize geben korrekte
> werte zurück, daher habe ich echt keine Ahnung woran das
> liegt.
> Daher meine Frage an Leute die vllt mehr Ahnung haben als
> ich :)
Probiere mal im Konstruktor
array = new LinkedList<HashItem>[hashsize];
da müsste doch eigentlich auch der Klassenname übergeben werden.
Viele Grüße
Marc
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:26 Mo 18.06.2012 | Autor: | Lehrling21 |
Das wird vom Compiler nicht durchgelassen und gib mir die Fehlermeldung "generic array creation" zurück
achso falls das nicht klar geworden ist, es soll im Prinzip ein Array aus Listen erzeugt werden
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:38 Mo 18.06.2012 | Autor: | Marc |
Hallo,
> Das wird vom Compiler nicht durchgelassen und gib mir die
> Fehlermeldung "generic array creation" zurück
Okay, dachte, man könnte das von C++ übertragen.
> achso falls das nicht klar geworden ist, es soll im Prinzip
> ein Array aus Listen erzeugt werden
Ein Hashtable eben
Aber das ist doch auch schon die Lösung: Die einzelnen Listenobjekte des Arrays sind doch noch gar nicht von dir erzeugt worden, d.h., im Konstruktor müsstest du noch innerhalb einer Schleife jede einzelne Liste erzeugen.
Viele Grüße
Marc
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:40 Mo 18.06.2012 | Autor: | Lehrling21 |
genau das ises danke ! :)
|
|
|
|