Doppeltes Gleich?

Favorite_11

Mitglied
Hallo zusammen,

ich habe ein Problem. Wir haben ein Codebeispiel bekommen und ich weiß nicht genau was das doppelte Gleich-Zeichen im return bedeutet:

Java:
public boolean istAmEnde() {
	return (aktuell.nf == null);
}

Gruß ;)
 

Tobse

Top Contributor
Grundlagen lernen :)

Das
Code:
==
ist ein Vergleichs-Operator. Vergleiche liefern immer
Code:
boolean
Werte. Als beispiel:

Folgende beiden Code-Beispiele sind exakt das selbe:
Java:
if (fensterWinkel > 0)
{
    System.out.println("Das Fenster ist auf");
}
else
{
    System.out.println("Das Fenster ist zu");
}
Java:
boolean fensterIstAuf = fensterWinkel > 0;
if (fensterIstAuf)
{
    System.out.println("Das Fenster ist auf");
}
else
{
    System.out.println("Das Fenster ist zu");
}
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Ein Beispiel, wo gar kein == vorkommt!? :autsch:

Wie du mit
Code:
>
und
Code:
<
prüfen kannst, ob Zahlen größer oder kleiner als andere sind, kannst du mit
Code:
==
testen, ob zwei Dinge (nicht nur Zahlen) gleich (identisch) sind.

Wenn du Objekte miteinander vergleichen möchtest, dann bietet sich aber eher die Methode [c]equals(Object o)[/c] an, die jedes Objekt hat.

Mehr Grundlagen gibts hier. :rtfm: ;)
 

Tobse

Top Contributor
Ein Beispiel, wo gar kein == vorkommt!? :autsch:

Wie du mit
Code:
>
und
Code:
<
prüfen kannst, ob Zahlen größer oder kleiner als andere sind, kannst du mit
Code:
==
testen, ob zwei Dinge (nicht nur Zahlen) gleich (identisch) sind.

Wenn du Objekte miteinander vergleichen möchtest, dann bietet sich aber eher die Methode [c]equals(Object o)[/c] an, die jedes Objekt hat.

Da stellt sich jetzt die Frage, was das größere Vergehen ist. Dass dem TE die Intelligenz unterstellt wird, die Analogie zwischen einem
Code:
>
und einem
Code:
==
zu erkennen oder aber dass hier das Bild vermittel wird, man könne Zwei Objekte mittels
Code:
==
auf Identität prüfen. Denn lezteres ist schlicht falsch.
Code:
==
prüft immer, ob zwei Referenzen auf das selbe Objekt zeigen. Das Funktioniert bei primitiven Datentypen nur, weil die JVM bei einer Referenz auf eine schon bestehende, identische Zahl die gleichen Referenzen benutzt.
 

kaoZ

Top Contributor
Ich glaube er meinte ,

Code:
==
Vergleicht Referenzen und liefert einen booleschen Wert.

Beim nutzen des Verlgeichsoperators
Code:
==
, werden lediglich Referenzen der 2 Objekte Verglichen
(Belegung von Attributen werden hier ignoriert)

bedeutet in deinem Konkreten fall, das wenn

Code:
aktuell.nf
( was auch immer das sein soll ? Klasse? Variable ? Deklaration inkorrekt ?!)

mit null initialisiert wurde true liefert

andernfalls false liefert;

Das Bedeutet das 2 Objekte die gleiche Identität haben können , jedoch nicht zwingend auch gleich, im Sinne von "gleich" sind.
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Da stellt sich jetzt die Frage, was das größere Vergehen ist. Dass dem TE die Intelligenz unterstellt wird, die Analogie zwischen einem
Code:
>
und einem
Code:
==
zu erkennen
Intelligenz zu unterstellen halte ich nie für falsch. ;) Und auf Zahlen bezogen (womit ich ja argumentiert habe) empfinden ich es als durchaus sinnig,
Code:
==
mit
Code:
>
und
Code:
<
auf eine Ebene zu stellen. Denn eine Zahl kann größer, kleiner oder eben gleich einen andere Zahl sein. Viel intuitiver gehts wohl kaum.

oder aber dass hier das Bild vermittel wird, man könne Zwei Objekte mittels
Code:
==
auf Identität prüfen. Denn lezteres ist schlicht falsch.
Kommt stark darauf an, wie du Identität jetzt definierst. Wenn ich wissen möchte, ob zwei variablen das selbe Objekt beinhalten, dann kann ich durchaus
Code:
==
verwenden, weile es eben die Referenzen (wie du ja auch selbst schreibst) vergleicht. Um zu prüfen ob zwei Objekte semantisch gleich sind, sollte man eh
Code:
equals
verwenden.

Code:
==
prüft immer, ob zwei Referenzen auf das selbe Objekt zeigen. Das Funktioniert bei primitiven Datentypen nur, weil die JVM bei einer Referenz auf eine schon bestehende, identische Zahl die gleichen Referenzen benutzt.
Ich halte es nicht für schlau einen Anfänger mit Referenzen zu konfrontieren. Denn diese Spielen in Java eigentlich keine Rolle, da nicht zwischen Pointer und Objekt unterschieden wird.
 

Tobse

Top Contributor
Ich halte es nicht für schlau einen Anfänger mit Referenzen zu konfrontieren. Denn diese Spielen in Java eigentlich keine Rolle, da nicht zwischen Pointer und Objekt unterschieden wird.

Naja, wenn es um Pass-by-Reference oder Pass-By-Value geht ist es schon wichtig, das prinzip von Referenzen zu verstehen. Pointer sind natürlich wieder ne Geschichte für sich und in Java unwichtig.
 

Favorite_11

Mitglied
Ok vielen Dank. Habt mir sehr geholfen.

Also generell wusste ich das == der Vergleichsoperator ist aber wusste nicht, dass man es auch einfach so im return benutzen kann..

Zu nf: Es geht hier um eine Klasse, die eine Liste abbildet. nf verweist auf das nächste Element in der Liste...
 

kaoZ

Top Contributor
Klassen schreibt man groß, variablen lowerCamelCase
Bedeutet konkret Du müsstest es so schreiben
Und auch dementsprechend deklarieren
Java:
Aktuell.nF

Zudem sollte man eindeutige und aussagekräftige Bezeichner verenden, sonst entsteht schnell totales Chaos :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Doppeltes Gleichheitszeichen bei Export Java Java Basics - Anfänger-Themen 5
D Liste und doppeltes... Java Basics - Anfänger-Themen 9
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
Binary.Coder Doppeltes Hashing verläuft in "Endlosscheife" beim rechnen per Hand Java Basics - Anfänger-Themen 8
P doppeltes Hochkomma (") in String verwenden Java Basics - Anfänger-Themen 3
L doppeltes Hashing Java Basics - Anfänger-Themen 14
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
K Mail senden, nachdem Anwendung beendet wurde (gleich wie) Java Basics - Anfänger-Themen 4
S Arbeitsfeld in gleich große Bereiche einteilen Java Basics - Anfänger-Themen 2
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
P String größer kleiner gleich vergleichen Java Basics - Anfänger-Themen 6
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
R getrennte Objekte aus Klasse erstellen : warum Inhalt dann gleich ? Java Basics - Anfänger-Themen 2
S Groß- und Kleinbuchstaben gleich behandeln Java Basics - Anfänger-Themen 3
F String length nicht gleich der Ausgabe Java Basics - Anfänger-Themen 10
J JTable Wert gleich überschreiben Java Basics - Anfänger-Themen 6
P OOP Testen ob 2 Strings gleich sind Java Basics - Anfänger-Themen 8
GadgetSofa .txt Datei erstellen und gleich wieder Löschen? Java Basics - Anfänger-Themen 12
K Variablen Instanzen gleich aber warum ? Java Basics - Anfänger-Themen 3
J Klassen Warum ist (a.equals(b)) gleich (a==b)? Java Basics - Anfänger-Themen 13
B Threads Geschwindigkeit der Befehle auf verschiedenen PCs gleich machen Java Basics - Anfänger-Themen 3
O Objekte gleich oder verschieden? Java Basics - Anfänger-Themen 14
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
turmaline String teilen in gleich große strings Java Basics - Anfänger-Themen 15
D Strings sind ungleich obwohl sie in der Ausgabe gleich sind Java Basics - Anfänger-Themen 10
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
D X Werte in ArrayList von Point Objekte alle gleich ? Java Basics - Anfänger-Themen 11
D Warum ist int a = 3*2+1*3; gleich 9 und nicht gleich 27 Java Basics - Anfänger-Themen 4
F While Schleife ausführen, wenn String gleich ist. Java Basics - Anfänger-Themen 2
M Problem mit größer oder gleich >= Java Basics - Anfänger-Themen 8
lumo warum double nicht gleich double ist??? Java Basics - Anfänger-Themen 5
feuervogel Datentypen Zwei Sets sind gleich, aber dann doch nicht Java Basics - Anfänger-Themen 9
T Border Layout alle mittleren felder gleich groß Java Basics - Anfänger-Themen 3
A [gelöst]Zwei Ausgaben, die eigentlich gleich sein sollten Java Basics - Anfänger-Themen 9
T .split(";") nicht gleich große arrays werden erzeu Java Basics - Anfänger-Themen 2
-horn- Mathe: Variable gleich Infinity, wie mit if rausfiltern? Java Basics - Anfänger-Themen 9
J Java plus exe gleich Java Basics - Anfänger-Themen 6
D Inhalt eines Dialogfeldes wird nicht gleich angezeigt? Java Basics - Anfänger-Themen 6
U "gleich gleich" oder equals Java Basics - Anfänger-Themen 9
M Variablennamen als Parameter gleich Var. als Klassenvariable Java Basics - Anfänger-Themen 2
N long geteilt durch long gleich null ? Java Basics - Anfänger-Themen 8
G testen ob int gleich null Java Basics - Anfänger-Themen 15
G int gleich long ? Java Basics - Anfänger-Themen 2
J JLabel gleich in einer Schriftfarbe anzeigen Java Basics - Anfänger-Themen 4
L Bedingung immer false, auch wenn zwei Strings gleich sind Java Basics - Anfänger-Themen 11
S Bilder gleich am Start zeichnen. Java Basics - Anfänger-Themen 15
R Ist ! gleich false? Java Basics - Anfänger-Themen 3
L int und double auf gleich prüfen? Java Basics - Anfänger-Themen 12
M Imagegroesse angeblich immer gleich 0 Java Basics - Anfänger-Themen 2
X bei ArrayListen in einer ArrayList werden alle gleich befüll Java Basics - Anfänger-Themen 6
V Eingabe gleich als char Java Basics - Anfänger-Themen 3
B Zufallszahlen erzeugen die nicht gleich sind ;/ Java Basics - Anfänger-Themen 10
Silver-Blue Random aus ArrayList immer gleich Java Basics - Anfänger-Themen 9
R in einer TextArea den Cursor gleich anzeigen lassen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben