java下划线转换为驼峰,首字母可以设置大写或者小写

简介: java下划线转换驼峰

/**
	 * 下划线转换为驼峰
	 *
	 * @param line 下划线字符串
	 * @param firstIsUpperCase 首字母是否转换为大写
	 * @return
	 */
	private static String underline2Camel(String line, boolean ... firstIsUpperCase) {
		String str = "";

		if(StringUtils.isBlank(line)){
			return str;
		} else {
			StringBuilder sb = new StringBuilder();
			String [] strArr;
			// 不包含下划线,且第二个参数是空的
			if(!line.contains("_") && firstIsUpperCase.length == 0){
				sb.append(line.substring(0, 1).toLowerCase()).append(line.substring(1));
				str = sb.toString();
			} else if (!line.contains("_") && firstIsUpperCase.length != 0){
				if (!firstIsUpperCase[0]) {
					sb.append(line.substring(0, 1).toLowerCase()).append(line.substring(1));
					str = sb.toString();
				} else {
					sb.append(line.substring(0, 1).toUpperCase()).append(line.substring(1));
					str = sb.toString();
				}
			} else if (line.contains("_") && firstIsUpperCase.length == 0) {
				strArr = line.split("_");
				for (String s : strArr) {
					sb.append(s.substring(0, 1).toUpperCase()).append(s.substring(1));
				}
				str = sb.toString();
				str = str.substring(0, 1).toLowerCase() + str.substring(1);
			} else if (line.contains("_") && firstIsUpperCase.length != 0) {
				strArr = line.split("_");
				for (String s : strArr) {
					sb.append(s.substring(0, 1).toUpperCase()).append(s.substring(1));
				}
				if (!firstIsUpperCase[0]) {
					str = sb.toString();
					str = str.substring(0, 1).toLowerCase() + str.substring(1);
				} else {
					str = sb.toString();
				}
			}
		}
		return str;
	}

相关文章
|
2月前
|
缓存 Java Spring
Java本地高性能缓存实践问题之Caffeine中设置刷新机制的问题如何解决
Java本地高性能缓存实践问题之Caffeine中设置刷新机制的问题如何解决
|
2月前
|
缓存 Java
Java本地高性能缓存实践问题之Caffeine缓存库中基于时间设置驱逐策略的问题如何解决
Java本地高性能缓存实践问题之Caffeine缓存库中基于时间设置驱逐策略的问题如何解决
|
3月前
|
Java API 编译器
Java编译器注解运行和自动生成代码问题之编译时通过参数设置选项值问题如何解决
Java编译器注解运行和自动生成代码问题之编译时通过参数设置选项值问题如何解决
|
2月前
|
缓存 负载均衡 安全
|
2月前
|
Java
Java系列之 IDEA 为类 和 方法设置注解模板
这篇文章介绍了如何在IntelliJ IDEA中为类和方法设置注解模板,包括类模板的创建和应用,以及两种不同的方法注解模板的创建过程和实际效果展示,旨在提高代码的可读性和维护性。
|
2月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
2月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
2月前
|
固态存储 Java 网络安全
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
|
3月前
|
存储 Java
java 服务 JVM 参数设置配置
java 服务 JVM 参数设置配置
63 3
|
3月前
|
数据采集 安全 Java
Java Selenium WebDriver:代理设置与图像捕获
Java Selenium WebDriver:代理设置与图像捕获
下一篇
无影云桌面