|
From: | Robert Schuster |
Subject: | Re: [cp-patches] Small java.util.Locale change |
Date: | Mon, 20 Dec 2004 03:18:51 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.3) Gecko/20040930 |
Andrew John Hughes wrote:
I am not sure whether this is needed. I have seen that the constructors of Locale call intern() on the String instances given as arguments. The Strings which exists at compile time are automatically intern()'ed. That means referential equality should work in equals().I spotted a small bug in java.util.Locale while trying to debug a problem in java.util.Currency. The equals method compares String objects using == rather than equals().Locale l = (Locale) obj; - return (language == l.language - && country == l.country - && variant == l.variant); + return ((language.equals(l.language)) + && country.equals(l.country) + && variant.equals(l.variant)); }
The docs of String.intern() describe this magic a little better. :-) cu Robert
[Prev in Thread] | Current Thread | [Next in Thread] |