String überprüfen

Hallo,

ich möchte gerne in einer if-Anweisung überprüfen, ob in einem String etwas drinsteht.
Eigentlich, soll die Anweisung nur ausgeführt werden, wenn etwas drinsteht.

In etwa so:

String wert;

if(!wert.isEmpty()){…;}

Nur leider bekomme ich eine Fehlermeldung, dass „!“ kein Operator für die String-Klasse wäre.

Kann ich das vielleicht irgendwie anders lösen?

Für Hilfe wäre ich echt dankbar.

Gruß

Sedric

Moin

String test = „das soll drin stehen“
String zuTesten = …

if (zuTesten.indexOf(test) != -1){
//Es steht drin
} else {
//Es steht nicht drin.
}

cu

Nachtrag
Moin

beim zweiten mal lesen der Frage kommen mir Zweifel, meinst du vielleicht:

if ((zuTesten!=null) && (zuTesten.length()!=0)){
//Der String ist nicht ganz leer
}

?

cu

Hallo pumpkin,
danke für die schnelle Antwort.

Hmm, für was benutzt Du den zweiten String?

Nehmen wir einfach an, in dem String sollte irgendwas drinstehen. Jetzt möchte ich überprüfen, ob etwas drinsteht und wenn ja, dann soll etwas mit dem String passieren.
Brauche nur ne boolsche Methode, die mir dann true zurückliefert, wenn in dem String was drinsteht.

Danke trotzdem :wink:

Gruß

sed:::

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Oh, ich glaub ich hab’s.

Der Operator muss vor dem „gleich“ stehen. In meiner Version stand der immer vor dem String. ( if(!test == null)…)

Ich probier’s mal so.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hmm, für was benutzt Du den zweiten String?

pumpkin dachte, du suchst eine Moeglichkeit zu pruefen, ob
String ABC in String XYZ enthalten ist.
In seinem Nachtrag hat er dann dein eigentliches Problem
hinreichend beantwortet.

Gruss, Patrick

Ja, mein Problem sieht etwas anders aus. Nachdem ich jetzt Stunden damit zugebracht hab, muss ich feststellen, dass die Anweisung schon macht, was sie soll.
Die Daten für den String werden aus einer Datenbank gelesen. Und wenn da nix drinsteht (also null ), dann zeigt gibt er mir trotzdem einen String zurück und zwar Strichchen (" - "). Und das ist das Problem.

Sorry, bin ein ziemlicher Neuling und stecke grad mitten im Praxissemester.

Gruß

sed:::

Stunden damit zugebracht hab, muss ich feststellen, dass die
Anweisung schon macht, was sie soll.

Welche jetzt?

Und wenn da nix drinsteht (also null ), dann zeigt gibt

„Nix drinstehen“ und null ist ein Unterschied!

er mir trotzdem einen String zurück und zwar Strichchen (" -
"). Und das ist das Problem.

Wer gibt dir den String zurueck?
Kannst du vielleicht noch etwas Code posten?

Sorry, bin ein ziemlicher Neuling und stecke grad mitten im

Dafuer brauchst du dich nicht zu entschuldigen.

Gruss, Patrick

Moin

…(" - ")…

Du willst also wissen ob der String test gleich " - " ist ?

if (test.equals(" - ")){
//Ja, er ist gleich
} else {
//Nein, er ist nicht gleich
}

cu

Was soll isEmpty sein? Es gibt keine solche Methode in der String-Klasse, ich vermute das ist eher das Problem :smile:

Falls es eine solche Methode mit boolschem Rückgabewert gäbe, wäre die Syntax korrekt.

Alternative
if (!wert.equals("")) { … }
oder
if (wert.length() > 0) { … }

Grüße
Bruno

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich weiss - das Problem schein wohl schon gelöst - hab
vielleicht noch ne kleine Anmerkung.

Alternative
if (!wert.equals("")) { … }
oder
if (wert.length() > 0) { … }

Damit man keine Nullpointer-Exception bekommt
(die man ja immer blöderweise nur zur Laufzeit bekommt)
sollte man lieber folgendes machen:

if(!"".equals(wert)) { … }

ist gleichbedeutend mit

if(wert!=null && !wert.equals("")) { … }

Nichts für ungut - wollte nicht klugscheissen,
bin nur immer wieder fasziniert von Sprach-Spitzfindigkeiten.

Gruß Chistian

if(!"".equals(wert)) { … }
ist gleichbedeutend mit
if(wert!=null && !wert.equals("")) { … }
Nichts für ungut - wollte nicht klugscheissen,

Ist in Ordnung, mache ich eigentlich auch immer so… ich hasse NullPointerExceptions :smile:

Grüße
Bruno