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:[email protected]]
> 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: [email protected]
> For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]