以下のような感じかと思います。
import org.apache.commons.lang3.StringUtils; // camel -> snake 変換 public String toSnakeStr(String camel) { String snake = StringUtils.join( StringUtils.splitByCharacterTypeCamelCase(camel), "_") .toLowerCase(); //数字の前には「_」不要 snake = snake.replaceAll("(_)([0-9])", "$2"); return snake; }