NullPointerException

mavinatic

Bekanntes Mitglied
Hallo Community,

ich habe eine Frage zum Thema "NullpointerException":

Java:
public String[] findOnlineUser() {
    	Query query = entityManager.createQuery("SELECT x FROM UserInformation x WHERE x.online='"+true+"'");
    	List<UserInformation> userList = (List<UserInformation>) query.getResultList();
    	String[] users = new String[userList.size()];
    	int i=0;
    	for(UserInformation user:userList) {
    		users[i] = user.getId();
    		i++;
    	}
    	
    	if(userList.size()==0)
    		return new String[] {};
    	
		return users;
    }

Das ist meine Methode...und ich möchte umgehen, dass die Methode "null" zurückgibt. Jedoch tut sie das im Moment?! obwohl ich ein neues leeres Array erzeuge.

Hat jemand eine Idee wieso?
 
G

Gast2

Gast
Die Methode kann nicht null zurückgeben, entweder gibt sie
Code:
new String[userList.size()]
oder
Code:
new String[] {}
zurück, das ist beides nicht null.
Verwechselst du das vielleicht und es fliegt in Wirklichkeit ne NullPointerException in der Methode?

Die beiden Zeilen 11 und 12 solltest du übrigens etwas weiter oben ansetzen, direkt nachdem du die userList geladen hast.
 

mavinatic

Bekanntes Mitglied
Ja dieser Ansicht bin ich auch, deswegen...frage ich hier nochmal nach. Das ganze geht über eine Schnittstelle und über einen Webservice, deswegen wird da die NPE entstehen, welche ich auf der anderen Seite bekomme. :-/
 

mavinatic

Bekanntes Mitglied
Auf Serverseite fliegt keine Exception.....nur auf Clientseite...weil ich durch ein Array laufe, welches Null ist, aber laut meiner Methode "findOnlineUsers" dürfte das array nicht null sein.
 

mavinatic

Bekanntes Mitglied
Java:
Exception in thread "main" java.lang.NullPointerException
	at com.mycompany.openflow.test.ws.UserServiceTest.testFindAllOnlineUsers(UserServiceTest.java:55)
	at com.mycompany.openflow.test.ws.UserServiceTest.<init>(UserServiceTest.java:23)
	at com.mycompany.openflow.test.ws.UserServiceTest.main(UserServiceTest.java:77)
 

pl4gu33

Top Contributor
sind das denn wirklich die gleichen Methoden weil dort steht "testFindAllOnlineUsers" / oben steht findOnlineUser und was genau steht in der Zeile
 
Zuletzt bearbeitet:

mavinatic

Bekanntes Mitglied
Es sind nicht die gleichen Methoden würdet ihr lesen was ich geschrieben habe, dann wüsstet ihr das es Clientseitig ist. (Ist nicht böse gemeint!)
Nochmal der Erklärungsversuch:

Auf meinem Server befindet sich eine EJB, welche die Methode findOnlineUsers beinhaltet, genau wie im 1. Beitrag beschrieben.

Nun greife ich über einen Webservice auf die EJB zu und erhalte eine Nullpointer-Exception, jedoch habe ich es vermieden explizit "NULL" zurückzugeben.

SourceCode meines Testprogramms:
Java:
Zeile 53:UserService userService = service.getPort(UserService.class);
         Zeile 54:String[] onlineUsers = userService.findOnlineUser("myId");
         Zeile 55:	for(String x:onlineUsers) {
	 Zeile 56:		System.out.println(x);
	 Zeile 57:	}
 

tagedieb

Top Contributor
Dann bau mal ein paar System.out.println(..) ein oder Debug durch den Code, dann wirst du schon finden wo 'null' zurückgegeben wird und was auf der Serverseite passiert.

Vielleicht ist der Fehler ja auch im Webservice und nicht im EJB
 

FArt

Top Contributor
Es sind nicht die gleichen Methoden würdet ihr lesen was ich geschrieben habe, dann wüsstet ihr das es Clientseitig ist. (Ist nicht böse gemeint!)
Riskierst eine ganz schön große Lippe, dafür dass du nicht in der Lage bist einen einfachen NPE zu sehen. (Ist nicht böse gemeint!)

Deine Information ist recht dürftig. Erst postest du nur diese langweilige Methode, dann ist es ein Webservice und plötzlich haben wir EJBs. Genug Möglichkeiten bei der Delegation und beim Mapping etwas zu verschlampen.

Was deinen Code angeht: EikeB hat es schon gesagt.
Über Logging und/oder Debugging sollte leicht zu finden sein, wo die Referenz "verloren geht".

P.S.: interessante for Schleife:
Code:
        int i=0;
        for(UserInformation user:userList) {
            users[i] = user.getId();
            i++;
        }
 

faetzminator

Gesperrter Benutzer
Und du bist dir sicher, dass nicht einfach die Query serverseitig eine Exception schmeisst?
Ganz abgesehen davon, der von dir gepostete Code kann auch einfacher geschrieben werden:
Java:
public String[] findOnlineUser() {
    Query query = entityManager.createQuery("SELECT x FROM UserInformation x WHERE x.online='true'");
    List<String> result = new ArrayList<String>();
    for(UserInformation user : (List<UserInformation>) query.getResultList()) {
        result.add(user.getId());
    }
    return result.toArray(new String[result.size()]);
}
(Warum man auch immer ein [c]String[][/c] statt [c]List<String>[/c] benötigt...)
 

mavinatic

Bekanntes Mitglied
@FArt:
1) Bin ich mir ziemlich sicher, dass keine Exception fliegt, weil ich debugged habe, sowie im Log nachgeschaut habe. Beim debuggen springt er in die Zeile und gibt das Array zurück.

Riskierst eine ganz schön große Lippe, dafür dass du nicht in der Lage bist einen einfachen NPE zu sehen. (Ist nicht böse gemeint!)
Die simple NPE habe ich gelöst, wenn du mal gelesen hättest (ja mal wieder), dann weißt du das es sich letztendlich mehr um den Rückgabewert handelt anstatt um die NPE. (Fehler meinerseits der Titel des Threads hätte anders lauten können)

@faetzminator
Wenn du der Meinung bist, dass deine Schreibweise besser ist, dann nehme ich das so an. Ich habe die Erfahrung gemacht, dass ein Array schneller arbeitet als eine ArrayList/List.
 

faetzminator

Gesperrter Benutzer
Wenn du der Meinung bist, dass deine Schreibweise besser ist, dann nehme ich das so an. Ich habe die Erfahrung gemacht, dass ein Array schneller arbeitet als eine ArrayList/List.

Natürlich sind "native" Types (primitive und Arrays) schneller und günstiger als Objekte. Das spielt aber im Normalfall überhaupt keine Rolle. 1. 99% allen Codes ist nicht zeitkritisch 2. solange Programmierer irgendwelche Laufzeiten von [c]O(n^2)[/c] statt [c]O(n * log(n))[/c] oder [c]O(n)[/c] entwickeln, spielts sowieso keine Rolle...
 

tagedieb

Top Contributor
Würdest du lesen was wir geschrieben haben, wüsstest du dass der Fehler nicht umbedingt im EJB zu suchen ist, sondern auch im WebService liegen könnte ;-)

Also schau dir mal den Response vom Webservice an, denn da wird ja null zurückgegeben und arbeite dich von da an Rückwärts bis zum EJB.
 

FArt

Top Contributor
@FArt:
1) Bin ich mir ziemlich sicher, dass keine Exception fliegt, weil ich debugged habe, sowie im Log nachgeschaut habe. Beim debuggen springt er in die Zeile und gibt das Array zurück.

Das habe ich nicht behauptet (lies genau). Ich habe EikeB recht gegeben, dass DORT nicht null zurückgelierfert wird. Im Client (hast du selber gesagt) fliegt eine NPE weil null ankommt. Die Ursache dafür zu finden sollte mit Logging und Debugging wirklich einfach sein: sie liegt dazwischen!

Stichworte noch einmal: Delegation, Mapping (<-). Wie schon angemerkt: da passiert bestimmt noch ein wenig. Alleine schon, weil die Methodensignaturen nicht zusammenpassen.

Beliebtes Antipattern: eine (Runtime)Exception wird gefangen, nicht geloggt und null zurückgeliefert...
 
Ä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
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
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

Ähnliche Java Themen


Oben