String Array auf leere Felder prüfen, wie?


#1

Hallo,

ich habe ein String-Array bei dem nur bestimmte Felder mit einem Text gefüllt werden.

Nun möcht ich aber alle nicht genutzten Felder mit immer den gleichen Text versehen z.B. “Leer”.

Dazu müsste ich Wissen wie ich ein String-Array abfragen kann, also ob sich ein Text in einem Feld befindet oder nicht.

Mit: if(String array[x][y] == null) geht das nicht.

Wie könnte ich das abfragen?

PS: Die For-Schleifen habe ich nicht angefürt, bei einem 2 dimensionalen Array ist das klar das ich diese benötige. :slight_smile:


#2

Zunächst einmal: Strings vergleicht man inhaltlich mit equals!

Wenn aber nur die Null-Array-Elemente mit “Leer” gefüllt werden sollen, dann sollte deine if-Anweisung etwas abgeändert funktionieren

if(array[x][y] == null)

#3

Moin,

sind die Stellen denn wirklich null oder einfach nur leer ??

Dann wäre es eher sowas:

   if( array[x][y].equals( "" )

VG Klaus


#4

Oh oh… ich will ja nicht klugscheissen, aaaaber…

if("".equals(array[x][y])

bitteschön, sonst NullPointerException, wenn array[x][y] == null. :wink:

Das gilt btw. immer, wenn man Stringvariablen mit Stringliteralen vergleicht - nur so nebenbei.


#5

Achso, mit “” kann mandas also machen.

Werde das heute gleich mal versuchen.

PS: Die stellen sind einfach nur leer.

MfG


#6

Zunächst einmal muss geklärt werden, ob etwas spezielles passieren soll, wenn ein Elem. leer ist, oder wenn es nicht leer ist.

Dann:

if (array[x][y] != null && array[x][y].isEmpty()) { }

Oder:

if (array[x][y] != null && !array[x][y].isEmpty()) { }

So und nur so wird das…

String-Api-Doc lesen :rolling_eyes:

Heiße Frage auch auf Overflow: https://stackoverflow.com/questions/3321526/should-i-use-string-isempty-or-equalsstring


#7

So funktioiert es einwandfrei:

MfG und Danke!