harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [classlib][performance]The case mapping operation could be simplify
Date Wed, 17 Jan 2007 13:59:54 GMT
ok, I got it

On 1/17/07, Geir Magnusson Jr. <geir@pobox.com> wrote:
> I'd also probably name the method something like
>
>  toASCIILowerCase()
>
> or something so people grok it a little better.
>
> geir
>
> On Jan 16, 2007, at 12:07 PM, Tony Wu wrote:
>
> > Thanks Paulex.
> > I'll try to do this one by one if no one objects.
> >
> > On 1/15/07, Yang Paulex <paulex.yang@gmail.com> wrote:
> >> 2007/1/15, Tony Wu <wuyuehao@gmail.com>:
> >> >
> >> > I found some String.toLower(Upper)Case are invoked in some place
> >> which
> >> > is not necessay at all.
> >> >
> >> > As you know, String.toLower(Upper)Case will perform locale-
> >> sensitive
> >> > mappings, context-sensitive mappings, and 1:M character
> >> mappings. It
> >> > is expensive I think.
> >>
> >>
> >> I think so, it needs  to load  locale data .
> >>
> >> In almost all of the conditions, following
> >> > method[1] is good enough.
> >> >
> >> >
> >> > For example, there is following line in java.net.URL,
> >> > protocol = protocol.toLowerCase();
> >> > But according to RFC 2396, the scheme is defined by "alpha *
> >> ( alpha |
> >> > digit | "+" | "-" | "." )"
> >> >
> >> > And another example is the Locale,
> >> > countryCode = country.toUpperCase();
> >> > But country code is defined as ASCII character only.
> >> >
> >> > So I'd like to add methods like [1] to org.apache.harmony.luni.util
> >> > and refactor every possible place to use it. please correct me
> >> if I am
> >> > wrong, any concerns are welcome.
> >> >
> >> > [1]
> >> > public static String toLowerCase(String s){
> >> >         StringBuffer buffer = new StringBuffer();
> >> >         for (int i = 0; i < s.length(); i++) {
> >> >             char c = s.charAt(i);
> >> >             if ('A' <= c && c <= 'Z') {
> >> >                 buffer.append((char) (c + ('a' - 'A')));
> >> >             }else{
> >> >                 buffer.append(c);
> >> >             }
> >> >         }
> >> >         return buffer.toString();
> >> >     }
> >>
> >>
> >> Sounds good, but please add clear comments to this method and the
> >> invocations why String.toLowerCase is not preferred in these cases.
> >>
> >> --
> >> > Tony Wu
> >> > China Software Development Lab, IBM
> >> >
> >>
> >>
> >>
> >> --
> >> Paulex Yang
> >> China Software Development Labotary
> >> IBM
> >>
> >>
> >
> >
> > --
> > Tony Wu
> > China Software Development Lab, IBM
>
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message