camel=驼峰
hyphen=连字符
underscore=下划线
hyphen和dash区别
连字符: non-smoker 中是 hyphen
波折号: 1928-2008 中是 dash
2. 字符串-驼峰-下划线-连字符-以及大小写转换
2.1. 小写连字符->小写驼峰
CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data");
2.2. 小写下划线->小写驼峰
CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data")
2.3. 小写下划线->大写驼峰
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data");
2.4. 小写驼峰->小写下划线
CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testData");
2.5. 大写驼峰->小写下划线
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData");
2.6. 小写驼峰->小写连字符
CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData");
2.7. 大写下划线->小写驼峰
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "TEST_DATA");
2.8. 大写下划线->小写连字符
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, "TEST_DATA");
3. 示例代码
import com.google.common.base.CaseFormat;
import lombok.extern.slf4j.Slf4j;
/**
* <dependency>
* <groupId>com.google.guava</groupId>
* <artifactId>guava</artifactId>
* <version>23.0</version>
* </dependency>
*
* @Author niewj
* @Date 2019/12/28 15:05
* @Version 1.0
*/
@Slf4j
public class CamelCast {
public static void main(String[] args) {
// "test-data"->"testData" (小写连字符->小写驼峰)
log.info(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));
// "test_data"->"testData" (小写下划线->小写驼峰)
log.info(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));
// "test_data"->"TestData" (小写下划线->大写驼峰)
log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));
// "testData"->"test_data" (小写驼峰->小写下划线)
log.info(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testData"));
// "TestData" -> "test_data" (大写驼峰->小写下划线)
log.info(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData"));
// "testData"-> "test-data" (小写驼峰->小写连字符)
log.info(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData"));
// "TEST_DATA"-> "testData" (大写下划线->小写驼峰)
log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "TEST_DATA"));
// "TEST_DATA"-> test-data (大写下划线->小写连字符)
log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, "TEST_DATA"));
}
}
-
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com