Hallo ich möchte mit blue j zwei Strings mit if abfragen die man als parameter übergibt.

...komplette Frage anzeigen Programmabschnitt - (programmieren, Java, Programmierung)

4 Antworten

Entweder == benutzen falls du testen willst ib es exakt der gleiche String ist oder .equals() um den Inhalt zu vergleichen. Und Variablen werden klein geschrieben.

Antwort bewerten Vielen Dank für Deine Bewertung

Du benutzt den Zuweisungsoperator = anstatt dem Vergleichsoperator ==.

In Java werden Strings allerdings mit der equals Methode verglichen (zumindest der Inhalt und nicht die Referenz auf das Objekt selbst), da der Vergleichsoperator nicht, wie z.B. in C#, überladen ist.

Antwort bewerten Vielen Dank für Deine Bewertung

"=" ist ein Zuweisungsoperator, du meinst wohl eher ==
Du vergleichst hier zwei Strings mit einem binären AND.
if((string1=="abc")  &&  (string2=="def")){}

Antwort bewerten Vielen Dank für Deine Bewertung
androhecker 02.06.2016, 18:38

Die equals Methode wäre hier richtig, IDEs wie IntelliJ markieren es schon wenn man String mit == vergleicht.

0
safur 02.06.2016, 18:40
@androhecker

Klar, du könntest auch string.equals() verwenden.

0
androhecker 02.06.2016, 18:59

Habe auch nichts anderes gesagt, deswegen sollte man die von dir genannte Methode nicht verwenden.

0

Du willst hier nicht "=" benutzen. Den Rest kannst du dir innerhalb von wenigen Sekunden ergooglen

Antwort bewerten Vielen Dank für Deine Bewertung
Suboptimierer 02.06.2016, 18:22

==

0
Copyyy 02.06.2016, 18:35
@Copyyy

Nicht, dass hier etwas missverstanden wird: Ich sagte nicht, dass es in diesem Beispiel nicht funktioniert. Ich sagte nur, dass er wahrscheinlich den "Inhalt" vergleichen will anstatt der "memory reference" (gibts das Wort im Deutschen? oO)

0
hdbbi17 02.06.2016, 18:24

Ah ja stimmt ich brauch ja "==" da bin ich wohl auf dem schlauch gestanden :D Trotzdem vielen dank ohne den Tipp wäre ich erstmal nicht drauf gekommen.

1
androhecker 02.06.2016, 19:03

Objekt Referenz würde man sagen.

1

Was möchtest Du wissen?