java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Java-Forum FAQs > FAQ - Übersicht > Java-FAQ Beiträge > Die Top-Fragen

Thema geschlossen
Themen-Optionen Thema durchsuchen Ansicht
Alt 05.01.2004, 14:22   #1 (permalink)
Stammbenutzer
Floppy Disc
 
Benutzerbild von bummerland
 
Registriert seit: 17.06.2003
Beiträge: 961
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard Vergleichen von Strings

Strings werden nicht mit dem "==" Operator verglichen. Strings sind Objekte, die mit der Methode "equals(Object obj)" verglichen werden.
Wenn man sie mit "==" vergleicht, wird nicht der Inhalt der Objekte, sondern das Objekt selbst verglichen. Da das ja ein anderes ist, kann man sie so nicht vergleichen.


Bsp:
Code:
String a = new String("blabla");
String b = new String("blabla");

if (a.equals(b))
{
    System.out.println("equals");
}

if (a == b)
{
    System.out.println("==");
}
Ausgabe: equals
bummerland ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 09.03.2004, 16:56   #2 (permalink)
Stammbenutzer
CD-R 80
 
Benutzerbild von bygones
 
Registriert seit: 07.10.2003
Beiträge: 7.431
Blog-Einträge: 7
Abgegebene Danke: 16
Erhielt 33 Danke für 31 Beiträge
Nachtrag:

Code:
String a = new String("blabla");
String b = new String("blabla");
String c = b;

if (a.equals(b))
{
    System.out.println("equals");
}

if (a == b)
{
    System.out.println("==");
}

if(c == b) 
{
   System.out.println("gleich");
}
Ausgabe:
equals // da der Text der beiden String Objekte identisch ist
gleich // da c und b auf das gleiche Objekt zeigen
__________________
Test Driven Development is like sex. If you dont like it, you probably aint doing it right !

Proleptic programming is like driving 15 on the freeway because you will exit once and pass a school area !
bygones ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 31.05.2004, 19:58   #3 (permalink)
Stammbenutzer
CD-R 74
 
Registriert seit: 28.11.2003
Beiträge: 6.696
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Nachtrag Nr. 2:

Es gibt da allerdings noch eine Ausnahme und zwar bei folgendem Code:

Code:
       String string1 = "Hello World!";
       String string2 = "Hello World!";
       System.out.print("\t string1 == string2 is " );
       System.out.println(string1 == string2);
       System.out.print("\t string1.equals(string2) is ");
       System.out.println(string1.equals(string2));
// Ausgabe:
//         string1 == string2 is true
//         string1.equals(string2) is true
Grund:

Zitat: The Java Language Specification
The Java Language Specification explains that "Literal strings within the same class in the same package represent references to the same String object."

The Language Specification explains that "String literals - or, more generally, strings that are the values of constant expressions - are 'interned' so as to share unique instances using the method String.intern."
Roar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen

Lesezeichen

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Strings vergleichen Mina Java Basics - Anfänger-Themen 1 19.07.2005 22:34
Strings vergleichen Sky Allgemeine Java-Themen 12 05.10.2004 15:46
Strings vergleichen babuschka Java Basics - Anfänger-Themen 2 24.06.2004 08:22
Strings vergleichen M@thi Java Basics - Anfänger-Themen 3 23.06.2004 12:23
Strings vergleichen songbird Allgemeine Java-Themen 5 12.03.2004 20:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:01 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de