Re: String interning (WAS: SAX2/Java: Towards a final form)
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@i... 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.
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format