Rückgabewert einer Klassenmethode

kossy

Bekanntes Mitglied
Hallo zusammen !

Ich habe eine Frage an euch zu diesem Stückchen Java Code. In der Zeile "PersonenRegister preg = datastore.getPersonRegister();" könnte rein theoretisch eine NullPointerException ausgelöst werden, die dazu noch vom Aufrufer behandelt werden müsste:

Java:
public void anmeldenPerson( Person p ){
    if ( p != null ){
        Datastore d = new Datastore();
        PersonenRegister preg = datastore.getPersonRegister();
        if ( preg != null ){           
            //weiterer Java Code
        }
    }
}

Ist es jetzt immer guter Stil, wenn in diesem Fall kein PersonenRegister zurückgeliefert werden könnte,
eine leere Liste vom Typ PersonenRegister zurückzugeben und das dann entsprechend in " if ( preg != null )" abzuprüfen, oder gibt es für solche Fälle noch passendere allgemeingültige Codeansätze?

Gruß
Kossy
 
M

maki

Gast
Was machst du denn wenn p oder preg null sind?

Nebenbei, schlechte Wahl für Variablennamen, p -> person, preg -> personRegister (was auch immer das sein soll)
 

kossy

Bekanntes Mitglied
Was machst du denn wenn p oder preg null sind?

In dem Fall soll kein Code ausgeführt werden.

Nebenbei, schlechte Wahl für Variablennamen, p -> person, preg -> personRegister (was auch immer das sein soll)

Da gebe ich Dir Recht, dass war jetzt ein ein sehr schnell und schmutzig zusammengeschriebenes Stückchen Javacode.

Gruß
Kossy

//Edit

Ist Frage ist ja, ob das mit der Rückgabe einer leeren Liste immer sinnvoll erscheint?
 

irgendjemand

Top Contributor
hmm .. entweder NPE so weit weiterwerfen bis irgendwo mal n zentraler punkt zum fangen ist ... oder so früh wie möglich das auftreten von NULL verhindern
 
M

maki

Gast
In dem Fall soll kein Code ausgeführt werden.
Welches Zweck/Sinn soll das haben???

IMHO stellt deine null da einen Fehlerzustand dar, beide.
Wenn das so ist würde ich nicht gegen null prüfen, ist nämlich entweder ein bug (und dann ist eine NPE berechtigt) oder ein fehler in der Konfig (DB nicht ansprechbar?)...

Wie dem auch sei, soltest mehr dazu sagen was du eigetnlich vorhast, gegen nul zu prüfen ist im allgemeinen kein guter Stil.
 

kossy

Bekanntes Mitglied
Also vor habe ich ehrlich gesagt nichts konkretes. Das ist eher eine allgemeine Syntaxfrage und Stilfrage meinerseits.

Ich specke das Beispiel mal etwas ab (vergiss das mal mit dem null Prüfungen):

Java:
public void anmeldenPerson(){    
        Datastore d = new Datastore();
        PersonenRegister preg = datastore.getPersonRegister();    
}

Wie gesagt es geht hier nur um die Frage, ob eine leere Liste zurückgeben immer sinnvoll erscheint, oder ob das da bessere Ansätze gibt.

Gruß
Kossy
 

irgendjemand

Top Contributor
davon abgesehen das in dem geposteten "shadowing" greift *du also mit lokalen statt globalen variablen arbeitest" wird in der methode NICHTS gemacht ...

außerdem : woher sollen wir wissen was Datasource ist und was getPersonRegister macht wenn wir dessen source nicht haben

das zurückgeben einer "leeren" liste ist in diesem fall schlechter stil da "NULL" in deinem fall ein fehler ist und anständig behandelt werden sollte *zumidnest im caller ... ansonsten würde ich für sorgen das in Datasource.getPersonRegister() irgendwas ausgelöst wird *meinet wegen net IOException oder sowas* ... was dann ordentlich behandelt werden muss ... aber einfach auf NULL prüfen und bei true gar nichts tun ist eher ein bug da lediglich ein fehler verschluckt wird anstatt diesen zu behandeln
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Rückgabewert einer Methode in anderer Klasse verwenden Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
S Methoden Rückgabewert einer Methode als Parameter an eine andere Methode übergeben, geht das? Java Basics - Anfänger-Themen 5
T Variablen Rückgabewert aus einer Schleifen-Methode Java Basics - Anfänger-Themen 8
S Datentypen String mit fester Länge (Rückgabewert einer Methode) Java Basics - Anfänger-Themen 2
G List als Rückgabewert einer rekursiven Methode (Baum) Java Basics - Anfänger-Themen 3
T Array als Rückgabewert einer Methode Java Basics - Anfänger-Themen 3
S Rückgabewert einer Instanzvariable Java Basics - Anfänger-Themen 2
M Rückgabewert einer Methode Java Basics - Anfänger-Themen 6
D Rückgabewert einer Methode Java Basics - Anfänger-Themen 25
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
L Methoden Rückgabewert Verbergen / nicht mit ausgeben Java Basics - Anfänger-Themen 4
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
F Pascalsches Dreieck mit Rückgabewert Java Basics - Anfänger-Themen 2
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
Curtis_MC Methoden Rückgabewert von BiPredicate Java Basics - Anfänger-Themen 6
B Array als Rückgabewert in der Methode Java Basics - Anfänger-Themen 1
T Rückgabewert Problem Java Basics - Anfänger-Themen 2
A Methoden Rückgabewert Java Basics - Anfänger-Themen 6
I Referenz auf Klasse als Rückgabewert Java Basics - Anfänger-Themen 7
H Variablen Void und der Rückgabewert Java Basics - Anfänger-Themen 6
P Rückgabewert bestimmen Java Basics - Anfänger-Themen 17
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
Tarrew Generics: Erste gemeinse Oberklasse als Rückgabewert Java Basics - Anfänger-Themen 1
D for-Schleife Rückgabewert Java Basics - Anfänger-Themen 6
M Rückgabewert bei Methoden Java Basics - Anfänger-Themen 6
C Rückgabewert von Kontruktoren Java Basics - Anfänger-Themen 15
S Methoden Bei Liste als Rückgabewert: IndexOutOfBoundsException Java Basics - Anfänger-Themen 1
O Was verursacht den Rückgabewert false bei der Methode ready() eines BufferedReaders Java Basics - Anfänger-Themen 9
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
S Rückgabewert null in Methode mit Thread Java Basics - Anfänger-Themen 2
M Anstatt 1 int Rückgabewert, mehrere Rückgaben mit Arraylist Java Basics - Anfänger-Themen 8
N Klassen constructor Rückgabewert Java Basics - Anfänger-Themen 10
C Methoden Rückgabewert von statischer Methode ignorieren Java Basics - Anfänger-Themen 8
MiMa Methode mit Rückgabewert Java Basics - Anfänger-Themen 2
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
D Methode mit Rückgabewert Java Basics - Anfänger-Themen 5
J Methoden mit und ohne Rückgabewert Java Basics - Anfänger-Themen 22
D Erste Schritte Als Rückgabewert Klasse Java Basics - Anfänger-Themen 5
D Rückgabewert Pixelgrabber Java Basics - Anfänger-Themen 3
S ArrayList und Rückgabewert Java Basics - Anfänger-Themen 2
T Methode - Rückgabewert Schreibweise Java Basics - Anfänger-Themen 6
S Interface Rückgabewert Java Basics - Anfänger-Themen 3
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
I Rückgabewert von JSlider Java Basics - Anfänger-Themen 15
B Methoden, Rückgabewert und Verknüpfungen Java Basics - Anfänger-Themen 15
V OOP Klassen Methoden Rückgabewert Java Basics - Anfänger-Themen 15
C Datentypen Rückgabewert von "new FileInputStream" Java Basics - Anfänger-Themen 4
O Rückgabewert mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 10
A Rückgabewert ändert sich? Java Basics - Anfänger-Themen 9
C Thread mit Rückgabewert? Java Basics - Anfänger-Themen 4
K rückgabewert combobox Java Basics - Anfänger-Themen 15
M Methoden mit Rückgabewert Java Basics - Anfänger-Themen 4
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
C Null als Rückgabewert Java Basics - Anfänger-Themen 7
O String[] Array als Rückgabewert Java Basics - Anfänger-Themen 7
G setValueAt Rückgabewert verarbeiten? Java Basics - Anfänger-Themen 12
P Methode mit 2 unterschiedlichem Rückgabewert Java Basics - Anfänger-Themen 10
L Prozess rückgabewert? Java Basics - Anfänger-Themen 5
I "Rückgabewert" von EditorFenster Java Basics - Anfänger-Themen 6
A ActionPerformed Methode ohne Rückgabewert Java Basics - Anfänger-Themen 12
G Rückgabewert bei JInternalFrame ? Java Basics - Anfänger-Themen 2
M Rückgabewert Java Basics - Anfänger-Themen 4
L Rückgabewert Java Basics - Anfänger-Themen 7
K Frage zu Rückgabewert List und ArrayList Java Basics - Anfänger-Themen 6
D Methode aufrufen funktioniert nicht ganz - Rückgabewert Bool Java Basics - Anfänger-Themen 12
P Array als Rückgabewert Java Basics - Anfänger-Themen 4
halla Array an Methode übergeben / Array als Rückgabewert Java Basics - Anfänger-Themen 2
L Rückgabewert in Konstruktor? Java Basics - Anfänger-Themen 4
R Problem mit Rückgabewert Java Basics - Anfänger-Themen 5
M Null-Rückgabewert von Methoden = sauberes programmieren? Java Basics - Anfänger-Themen 3
M JFileChooser Rückgabewert Java Basics - Anfänger-Themen 2
Niki_Tesla Rückgabewert Java Basics - Anfänger-Themen 2
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
A Methode mit Rückgabewert Java Basics - Anfänger-Themen 3
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben