Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Joshua Cranmer Newsgroups: comp.lang.java.programmer Subject: Re: string case clauses Date: Sun, 11 Sep 2011 12:00:15 -0500 Organization: A noiseless patient Spider Lines: 15 Message-ID: References: <2oop671bkkrj4kg2cn59nq46ns1qg0n0qe@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 11 Sep 2011 17:00:48 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="WpcHJSul77m+zlbR9GVqkA"; logging-data="25447"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+iQcHUtxGoyGHUuDvIadVOxPbF52ZwCE4=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 In-Reply-To: <2oop671bkkrj4kg2cn59nq46ns1qg0n0qe@4ax.com> Cancel-Lock: sha1:ogy/FlPhNVoXTg2U0y9jOzq8oqU= Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:7811 On 9/11/2011 11:35 AM, Roedy Green wrote: > Has anyone looked at he code JavaC generates for the new String case > clauses? It is a simple linear search, a binary search, a HashMap? discusses the implementation a bit. In short: 1. Switch on the hashcode. 2. Verify string equalities using a linear switch for all strings that have the same hashcode. -- Beware of bugs in the above code; I have only proved it correct, not tried it. -- Donald E. Knuth