[
Lists Home |
Date Index |
Thread Index
]
- From: David Brownell <david-b@pacbell.net>
- To: Miles Sabin <msabin@cromwellmedia.co.uk>
- Date: Thu, 13 Jan 2000 12:35:51 -0800
Miles Sabin wrote:
>
> David Brownell wrote,
> > Miles Sabin wrote,
> > > Except that String.intern() isn't the _only_ way of
> > > making foo.equals(bar) iff foo == bar (in particular
> > > contexts, as opposed to across the whole JVM).
> >
> > It's the only way to ensure it's so if foo is a string
> > literal, as is rather common usage.
>
> I don't follow. You're surely not suggesting that
>
> foo == "literal".intern()
>
> is faster than,
>
> foo.equals("literal")
>
> are you?
That's a conclusion you could draw. I suppose that in some
cases a compiler might optimize
String foo = ...;
boolean b = foo.equals ("literal");
so that the assignment to "b" doesn't invoke equals(), and
just uses "==", but not only would that be more aggressive
than I think most of them are, but then "equals" isn't going
to be invoked so the question is moot!
Literals are already interned. It's in the language spec.
Look at the javadoc for java.lang.String.intern () ...
- Dave
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.
|