Viele if Abfragen auf viele Strings --> Alternative zu if

Status
Nicht offen für weitere Antworten.

EOB

Top Contributor
hi,

ich habe jeeeede menge strings, welche ich einerseits auf "" prüfen muss und dann auch noch auf was anderes. jetzt frage ich mich, wie man da am sinnvollsten vorgehen kann. das state pattern kam mir in den sinn, ich wollte aber fragen, ob jemand noch andere vorgehensweisen kennt?

es sind 20 strings, können auch mehr sein. im moment prüfe ich erst mittels

Code:
if(string1.equals("")){
    if(string1 muss einen wert haben){
        out("FEHLER!")
    }else{
        //....
    }
}else{
   if(teste string1 auf ein muster == true){
       //...
   }else{
      //... 
   }
}

so, das jetzt für alle 20 oder mehr strings, scheint mir nicht so toll zu sein. wie würdet ihr vorgehen? die strings dienen als parameter für eine methode, welche dann was schreibt. wobei manche dieser strings einen wert haben MÜSSEN, manche aber nicht unbedingt. indem ich also auf "" teste, stell ich erstmal nur fest, dass kein wert drin steht, dann müsste ich aber noch schaun, ob der string einen wert haben MUSS. es müsste also auch noch irgendwo festgelegt werden, welche strings zwingend erforderlich sind und welche nicht. jemand vorschläge/ideen?

danke :)
 

Marco13

Top Contributor
Ziemlich wenige Informationen, um was genaues sagen zu können, aber ... hast du tatsächlich sowas wie
Code:
String string1 = ...;
String string2 = ...;
String string3 = ...;
...
String string20 = ...;
Da würde sich ja dann ein Array oder eine Collection anbieten - und dessen Inhalt kann man dann auch leichter "automatisiert" abfragen...
 

EOB

Top Contributor
ja, habe ich tatsächlich, nur dass die strings anders heissen :wink: . im echten programm haben sie aussagekräftigere namen. was würde mir eine collection hier nützen? ich müsste die collection ja auch irgendwie füllen. ich will ja nicht die anzahl der strings im code reduzieren, sondern die art, wie ich sie überprüfe.

grüße
 

Marco13

Top Contributor
Ja, wenn die Strings dann alle in einem Array liegen würden, könntest du zum Beispiel(!) und nur vom Prinzip her(!) sowas machen wie
Code:
String string[] = new String[20];
fülle(string);

String values[] = new String[20];
values[0] = null; // String 0 kann leer sein
values[1] = "Hello"; // String 1 muss "Hello" sein
values[2] = ""; // String 2 muss "" sein
values[3] = "Welt"; // String 3 muss "Welt" sein
...

// Alle Strings testen
for (int i=0; i<20; i++) check(i);

...

// deine Abfrage - nur EIN mal, für alle Strings gleich
void check(int index)
{
if(string[i].equals("")){
    if(values[i] != null){
        out("FEHLER!")
    }else{
        //....
    }
}else{
   if(string[i].equals(value[i])){
       //...
   }else{
      //...
   }
}
}

Falls die "muster-Abfrage" komplizierter ist als ein einfaches string.equals(value) könntest du auch eine eigene Klasse dafür machen - aber ggf. muß man dann doch wieder für jeden String etwas "spezielles" machen, je nachdem, WAS dort genau überprüft wird...
 

EOB

Top Contributor
hm...die idee gefällt mir! das musterding ist in einer klasse, das würde schon passen. hm....muss ich mal drüber nachdenken. bin weiterhin offen für ideen :cool: .

grüße und DANKE!!
 

Marco13

Top Contributor
Wenn "das Musterding" auch weiß, ob die Strings leer sein dürfen, könnte es doch die komplette überprüfung machen!?
 

EOB

Top Contributor
google ist dein freund :wink: . ist vielleicht vergleichbar mit nem automaten, sprich es geht um zustände von objekten :).

grüße
 
G

Guest

Gast
EOB hat gesagt.:
Code:
if(string1.equals("")){
}else{
   if(teste string1 auf ein muster == true){
}
Was bringt denn der Vergleich mit "", wenn Du anschliessend sowieso auf ein Muster testest? Ich glaube, Du solltest lieber auf == null vergleichen als auf .equals ("").
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Best Practice Wie viele Referenzen machen Sinn? Weniger ist mehr? Allgemeine Java-Themen 1
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
Tacofan Hangman so viele Labels wie Buchstaben Allgemeine Java-Themen 5
K Variablen Konstruktor, unendlich viele Allgemeine Java-Themen 3
E Beliebig viele Worte Allgemeine Java-Themen 5
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
L MouseListener für viele Objekte erstellen Allgemeine Java-Themen 16
H Sehr viele Threads effizient Verwalten Allgemeine Java-Themen 13
R Arrayausgabe enthält viele Leerzeichen Allgemeine Java-Themen 4
M Threads Viele Aufrufe aus Thread, komisches Verhalten Allgemeine Java-Themen 8
C Threads Verbraucht eine Zeitabfrage viele Rechen-Ressourcen? Allgemeine Java-Themen 8
J BlueJ Methode hat zu viele Parameter Allgemeine Java-Themen 6
D (Viele) Daten performant speichern und lesen Allgemeine Java-Themen 5
S Viele zip-files zu einem kombinieren..? Allgemeine Java-Themen 3
KrokoDiehl Viele JARs und deren Resourcen Allgemeine Java-Themen 9
S Zu viele Felder. Allgemeine Java-Themen 4
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
H GUI: RectangleDrawer - zu viele Elemente im Vector für die paint-Methode Allgemeine Java-Themen 6
R Moeglichst viele Datumsstrings in Date Objekte konvertieren? Allgemeine Java-Themen 3
O viele Datensätze aus Datenbank - Java Heap Space - Excepion Allgemeine Java-Themen 25
C Viele Informationen aus zwei Collections vergleichen Allgemeine Java-Themen 2
T viele Threads Allgemeine Java-Themen 14
T Designfrage: Viele, kleine Objekte Allgemeine Java-Themen 13
M Beliebig viele Typen bei Generics Allgemeine Java-Themen 3
F Viele generische Parameter sinnvoll? oder besser casten? Allgemeine Java-Themen 10
J Viele Fragen. =) Hoffentlich könnt ihr helfen Allgemeine Java-Themen 9
V 1 Methode für viele verschiedene Klassen? Allgemeine Java-Themen 9
S Viele Fragen eines Umsteigers (von .NET) Allgemeine Java-Themen 6
K Zu viele Threads -> langsamer angehen. Allgemeine Java-Themen 3
ReinerCoder Case statt if else Abfragen?! Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
VfL_Freak KeyEvent.VK_TAB im KeyListener abfragen Allgemeine Java-Themen 13
cool_brivk24 Variablen abfragen von Boolean von anderer Klasse Allgemeine Java-Themen 12
B Generelle Frage bei einer Webanwendung / Reduzierung von DB Abfragen Allgemeine Java-Themen 1
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
D TextBox Abfragen Allgemeine Java-Themen 2
kodela aktuelle Position des Hauptfensters abfragen Allgemeine Java-Themen 12
J Tonhöhe & Lautstärke abfragen? Allgemeine Java-Themen 3
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
P Threads Parallelisierte DB-Abfragen mit variabler Anzahl an Threads Allgemeine Java-Themen 4
MiMa Variableninhalte dynamisch abfragen Allgemeine Java-Themen 12
A Erste Schritte If Abfragen + Scanner Allgemeine Java-Themen 7
Z AD Abfragen mit Java! Allgemeine Java-Themen 3
L Abfragen ob Threads fertig Allgemeine Java-Themen 3
chuxXo BasicPlayer - Beendigung Abfragen (Allgemein) Allgemeine Java-Themen 21
P Name der Parent Klasse abfragen Allgemeine Java-Themen 8
H In windowClosing() abfragen, ob STRG gedrückt wurde Allgemeine Java-Themen 8
M Aktuelle Systemzeit und Datum abfragen Allgemeine Java-Themen 2
M CapsLock abfragen wenn Fenster wieder aktiviert wird Allgemeine Java-Themen 5
P Variablen Werte der Objektvariablen mit getFields() abfragen Allgemeine Java-Themen 2
P Klassen Template-Klasse für Datenbank-Abfragen erstellen Allgemeine Java-Themen 2
J XML Inhalt von Web abfragen Allgemeine Java-Themen 6
D Von mehreren Objekten eine Eigenschaft abfragen Allgemeine Java-Themen 11
S HTTP Filmgenre aus dem Internet abfragen! Allgemeine Java-Themen 6
M Zahl aktiver Threads einer Gruppe verlässlich abfragen Allgemeine Java-Themen 3
R Was ist hier falsch? Abfragen Allgemeine Java-Themen 3
E Unique Ids abfragen? Allgemeine Java-Themen 5
Airwolf89 Wahrheitstabelle abfragen Allgemeine Java-Themen 3
M ständiges abfragen einer .txt Allgemeine Java-Themen 2
S Zeitserver Abfragen und in Date speichern Allgemeine Java-Themen 5
V Hostname abfragen gelingt nicht immer Allgemeine Java-Themen 2
H Windows abfragen Allgemeine Java-Themen 2
M Enter Taste in Konsole abfragen Allgemeine Java-Themen 2
N IP-Adresse Eingabe abfragen? Allgemeine Java-Themen 4
J Mit Scanner-Klasse eine Datei zeilenweise einlesen und nur bestimmte Zeichen abfragen Allgemeine Java-Themen 11
C Batchdatei ausführen und Ergebnisse abfragen Allgemeine Java-Themen 8
M Vermeiden von instanceof Abfragen Allgemeine Java-Themen 3
M SQL-Installation abfragen Allgemeine Java-Themen 14
Z Wetterdaten abfragen Allgemeine Java-Themen 5
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
R Zugriffsrechte abfragen Allgemeine Java-Themen 2
R boolean im Bean abfragen Allgemeine Java-Themen 18
G Checkboxen abfragen,Auswahl sichern, JTable laden Allgemeine Java-Themen 2
G Mausbewegung abfragen? Allgemeine Java-Themen 2
C Binärbereich einer Variablen abfragen Allgemeine Java-Themen 8
S Datenbank Abfragen mit großen Datenmengen Allgemeine Java-Themen 22
H Mit Java Desktop abmessungen height/width abfragen Allgemeine Java-Themen 20
H Sekunden messen wie lange h.ibernate/jdbc abfragen brauchen Allgemeine Java-Themen 7
G Abfragen des types Allgemeine Java-Themen 7
I Am System angemeldeten Benutzer abfragen Allgemeine Java-Themen 11
P verfügbare COM Schnitstellen abfragen Allgemeine Java-Themen 4
P <null> in einer DB abfragen Allgemeine Java-Themen 4
S Wie Carriage Return Line Feed abfragen. Allgemeine Java-Themen 6
T Hibernate Criteria Queries - Abfragen von Collection-Members Allgemeine Java-Themen 2
T Tastatur global abfragen Allgemeine Java-Themen 2
M Map gezielt abfragen? Allgemeine Java-Themen 5
MQue Vereinfachung von if- Abfragen Allgemeine Java-Themen 21
Chris_1980 Mausbewegung abfragen Allgemeine Java-Themen 4
E Events von inneren Klasse abfragen Allgemeine Java-Themen 7
B jre version in der html-datei für ein applet abfragen Allgemeine Java-Themen 5
S Prozessorauslastung abfragen Allgemeine Java-Themen 2
C Tastatureingabe in einem Frame abfragen Allgemeine Java-Themen 2
R Thread.sleep - abfragen Allgemeine Java-Themen 4
S Name der ausführenden jar-Datei abfragen Allgemeine Java-Themen 11
S Abfragen der Komponente bei actionperformed Allgemeine Java-Themen 2
A Dateistatus abfragen und Datei löschen sobald kein Zugriff Allgemeine Java-Themen 7
G JavaMail - Message vom Server, wie abfragen? Allgemeine Java-Themen 2
J Name des aktuell aktiven Windows-Fensters abfragen? Allgemeine Java-Themen 4
T Bittorrent TRACKER abfragen mit JAVA Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben