tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
315
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Hi alle zusammen!

    Sowas hab ich ja noch nie gesehen und es kotzt mich an! Aber seht selbst die Datei im Anhang.

    Könnte mir das mal einer erklären bitte?

    Wenn ich zweiten Parameter des "ifs" mit 101 ersetze dann funktionierts, aber warum zur Hölle gehts nicht wie's offensichtlich soll.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Gut Jungs, das muss mir einer erklären...-strange.png  
    Geändert von Unicate (09.03.10 um 02:13 Uhr)
     
    /* no comment */

  2. #2
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Mit .equal hats dann funktioniert, aber warum das anders nicht ging ist mir trotzdem ein rätsel
     
    /* no comment */

  3. #3
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Das ist eigentlich ganz einfach zu verstehen:
    • Die Operatoren == und != können auch auf Objekte, also auf Referenztypen, angewendet werden. In diesem Fall ist zu beachten, daß dabei lediglich die Gleichheit oder Ungleichheit der Referenz getestet wird. Es wird also überprüft, ob die Objektzeiger auf ein und dasselbe Objekt zeigen, und nicht, ob die Objekte inhaltlich übereinstimmen.
    • Die Methode equals testet, ob zwei Objekte denselben Inhalt haben.
    Auf welche Weise hast du ServerMessage.CLIENT_REQUEST_ALIVE deklariert?
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

  4. #4
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Grad bei enums ist ja der Sinn der Sache, dass das gleiche Objekt verwendet wird.

    Das benutzen von equals würde hier bei einer SUN JRE auch nichts ändern, da hier intern auch mit this == enum2 verglichen wird. Auch wenn es aus Stil-Sicht der schönere Weg mit equals wäre.

    Hier vermute ich ist das Problem, dass das eine Enum vom Client und das andere vom Server kommt?
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  5. #5
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Kann man mit enum-Werten Subtraktionen durchführen? Ich vermute, dass hier mit Integer-Objekten statt mit int-Werten gearbeitet wird.
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

  6. #6
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Die Werte sind keine enums. Sie sind "static final Integer".

    Das ist ja das was ich so komisch finde.
     
    /* no comment */

  7. #7
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Dein Client läuft in einer anderen Instanz als dein Server, deswegen hat die dortige Klasse eine andere Referenz. Integer ist die Wrapper-Klasse für int, und wegen des Autounboxing wird ein Integer-Objekt in einen int-Wert umgewandelt, wenn du es mit einer numerischen Zahl vergleichst. Wenn du aber zwei Integer-Objekte miteinander per == vergleichst, findet kein Autounboxing statt, und die Referenzen der Objekte werden verglichen; diese sind aber wegen der unterschiedlichen Instanzen nicht gleich. Wenn du deine Konstanten statt dessen als int deklarierst, müsste es funktionieren wie erwartet.
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

  8. #8
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Na das nenn ich mal eine einleuchtende Antwort. Danke, macht Sinn.
     
    /* no comment */

Ähnliche Themen

  1. Kann mir einer SMFUpload erklären?
    Von PostmanX im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 02.08.08, 15:12
  2. Antworten: 9
    Letzter Beitrag: 22.03.08, 23:21
  3. Touchpad - muss ich erklären....
    Von robenghuse im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 18.11.07, 18:22
  4. Wieso nur? Das muss mir mal bitte einer erklären...
    Von menschmeyer im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 08.05.06, 01:45
  5. Einer Ahnung und kann mir das erklären?
    Von UMAXDJ im Forum Photoshop
    Antworten: 11
    Letzter Beitrag: 26.04.05, 20:14