Re: Suche Beispiel für das Nichtfunktionieren von String==String
Von: Patrick Roemer (sangamon@netcologne.de) [Profil]
Datum: 09.08.2008 23:51
Message-ID: <g7l3gj$jfr$1@newsreader2.netcologne.de>
Newsgroup: de.comp.lang.java
Datum: 09.08.2008 23:51
Message-ID: <g7l3gj$jfr$1@newsreader2.netcologne.de>
Newsgroup: de.comp.lang.java
Responding to Thomas: > Ich weiß, dass mit == die Objektgleichheit geprüft wird. Um Strings zu > vergleichen sollte man s1.equals(s2) benutzen. Erzeuge ich die Strings mit > new kann man das auch wunderbar sehen. Und im Prinzip auch ueberall dort, wo Strings zur Laufzeit aus quellcode-externen Quellen kommen. > Ich hätte aber gerne ein Beispiel > bei dem die Strings jeweils mittels **s1="hallo";** erzeugt werden. > > Es gelingt mir aber gerade nicht Code zu erzeugen, wo man das sieht. Jetzt > habe ich gelesen, dass innerhalb einer Klasse ein String wie "hallo" von > allen Variablen gemeinsam benutzt wird. Also habe ich den String "hallo" in > zwei verschiedene Objekte in verschiedene Packages gepackt. Aber auch da > kam wieder True raus. Woher die Einschraenkung auf "innerhalb einer Klasse"? | String literals and, more generally, strings that are the values of | constant expressions are "interned" so as to share unique instances, | using the method String.intern. [VMSpec 2nd ed., §2.3] ...und noch mal genauer in §5.1, wiederum ohne Einschraenkung auf die Klasse. Viele Gruesse, Patrick[ Auf dieses Posting antworten ]
Antworten
- Patrick Roemer (10.08.2008 00:00)
- Thomas (10.08.2008 01:04)
