StringUtils.camelize(String);
25.2.2009 | 1 minutes reading time
Today I noticed that the Apache Commons libs are lacking a method to camelize Strings.
Because I needed to convert such an XML name MY_TINY_PROPERTY into a Java property name myTinyProperty, I ended up writing a simple camelizer myself.
1private String toCamelCase(String value, boolean startWithLowerCase) {
2 String[] strings = StringUtils.split(value.toLowerCase(), "_");
3 for (int i = startWithLowerCase ? 1 : 0; i < strings.length; i++){
4 strings[i] = StringUtils.capitalize(strings[i]);
5 }
6 return StringUtils.join(strings);
7}
I guess this helpers covers most of the requirements. At least it is covering all that I need. As an alternative one could use the WordUtils#capitalizeFully() and postprocess the result.
The way back is even more difficult, because the delimiters for split() are a bit harder to determine. While many other programming languages feature a camelize and underscore method, Java (and Apache Commons) does not. Why? Should I propose a patch?
More articles in this subject area
Discover exciting further topics and let the codecentric world inspire you.
Blog author
Fabian Lange
Do you still have questions? Just send me a message.
Do you still have questions? Just send me a message.