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:flame...@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-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org