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