OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: String interning (WAS: SAX2/Java: Towards a final form)

[ 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.


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS