On 2010-02-17, Jesse Glick <jesse.gl...@sun.com> wrote:

> bode...@apache.org wrote:
>> if user input is compared to fixed strings in a case insensitive manner we 
>> should use the default locale.  Use Locale.ENGLISH consistently

> Perhaps I'm not understanding the point of this.

>> URL: 
>> http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/Project.java?rev=910955&r1=910954&r2=910955&view=diff
>>      public static boolean toBoolean(String s) {
>> -        return ("on".equalsIgnoreCase(s)
>> -                || "true".equalsIgnoreCase(s)
>> -                || "yes".equalsIgnoreCase(s));
>>>        String lc = s == null ? null : s.toLowerCase(Locale.ENGLISH);
>>>        return ("on".equals(lc)
>>>                || "true".equals(lc)
>>>                || "yes".equals(lc));

> This should result in exactly the same behavior, except slower. So... why?

Because I misread the Javadocs, it seems.  And I didn't perform any
tests to back what I thought I read.  The point I didn't see was that
Character.toUpperCase is not Locale sensitive (which isn't spelled out
explicitly).

I'll revert most of the changes and transform the comparisions to
equalsIgnoreCase where appropriate.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to