commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <GGreg...@seagullsoftware.com>
Subject RE: [lang] LANG-510
Date Sun, 07 Mar 2010 01:13:28 GMT
Here is another low hanging fruit:

    public static int length(CharSequence str) {
        return str == null ? 0 : str.length();
    }

I committed that one since it is trivial and matches the is*(CharSequence) methods already
there.

Gary 

> -----Original Message-----
> From: Henri Yandell [mailto:flamefew@gmail.com]
> Sent: Friday, March 05, 2010 01:33
> To: Commons Developers List
> Subject: [lang] LANG-510
> 
> Thinking further on moving StringUtils to CharSequence, I'd like to
> take the String left(String, int) method as an example. It depends on
> substring(int, int), so is entirely possibly to move over to
> subSequence(int, int).
> 
> Hypothetical new method:
> 
>     CharSequence left(CharSequence, int)
> 
> The downside here is that users currently storing this in a String are
> going to have to cast. Generics to the rescue.
> 
>     <T extends CharSequence> T left(T, int)
> 
> This hits two problems:
> 
> 1) EMPTY is returned when the int is less than 0; EMPTY is a String and not T.
> 2) subSequence returns CharSequence and not T.
> 
> I could add a wrapper method to make Strings nicer:
> 
>     public static String left(String str, int len) {
>         if (str == null) {
>             return null;
>         }
>         return left( (CharSequence) str, len).toString();
>     }
> 
> But that doesn't help the StringBuffer/StrBuilder/StringBuilder user;
> they still get a sucky API.
> 
> Am I missing anything obvious here, or should I give up the ghost on
> trying to take these methods to CharSequence APIs?
> 
> Hen
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message