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

Miles Sabin msabin at
Fri Jan 14 15:55:31 GMT 2000

David Brownell wrote,
> Literals are already interned.  It's in the language 
> spec. Look at the javadoc for java.lang.String.intern () 

Good point ... and one which I'd <blush>unaccountably

I don't think this materially affects my argument tho',
because the only time where the performance difference

  foo == "literal"



is going to be significant is where there are long chains
of comparisons, ie.,

  if(foo == "elem1")
    // do stuff for elem1
  else if(foo == "elem2")
    // do stuff for elem2
  // ... repeat many times ...

  else if (foo == "elemn")
    // do stuff for elemn

where it'd be a far better idea (both from performance and 
software design POVs) to do something like,

  ElementHandler handler =




Miles Sabin                       Cromwell Media
Internet Systems Architect        5/6 Glenthorne Mews
+44 (0)20 8817 4030               London, W6 0LJ, England
msabin at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.

More information about the Xml-dev mailing list