hutool 驼峰转下滑线
时间: 2024-08-31 15:01:39 浏览: 111
Hutool是一个功能丰富的Java工具包,它提供了一个便捷的API来进行字符串操作,包括驼峰式命名(CamelCase)转换为下划线分隔式命名(snake_case)。在Hutool的StringUtil工具类中,你可以使用`toUnderline`方法或者`camelToUnderline`方法将驼峰形式的字符串转化为小写字母加下划线的形式。
例如:
```java
import cn.hutool.core.util.StringUtil;
String camelCase = "HelloWorld";
String underscored = StringUtil.camelToUnderline(camelCase); // 输出 "hello_world"
```
相关问题
hutool对象转map
要使用Hutool将对象转换为Map,可以使用Hutool中的BeanUtil工具类的`beanToMap`方法。该方法可以将一个Java对象转换为Map对象。在实际应用过程中,发现如果要转换的对象中存在List类型,集合中的对象不会转化为下划线格式的,而本方法可以解决这个问题。
具体使用方法如下:
```java
Map<String, Object> map = BeanUtil.beanToMap(bean);
```
其中,`bean`是要转换的对象。该方法会将对象的属性名作为Map的key,属性值作为Map的value。
另外,还可以通过设置`isToUnderlineCase`参数为`true`来将驼峰命名转换为下划线命名,这样可以更符合数据库字段的命名规范。
示例代码如下:
```java
Map<String, Object> map = BeanUtil.beanToMap(bean, true);
```
需要注意的是,如果要转换的对象中包含复杂类型(如List、Map等),则需要借助其他工具类进行递归转换或自定义转换逻辑。
总结:
使用Hutool的BeanUtil工具类的`beanToMap`方法可以将Java对象转换为Map对象。通过设置`isToUnderlineCase`参数为`true`,还可以将驼峰命名转换为下划线命名。
BeanUtil.beanToMap()中,嵌套对象字段也转下划线
在使用`BeanUtil.beanToMap`方法将Java对象转换为Map时,如果需要将嵌套对象字段也转换为下划线格式,可以使用Hutool中的`BeanUtil.fillBeanWithMap`方法。
该方法可以将Map中的键值对填充到Java对象中,同时支持将Map中的下划线格式的键自动转换为驼峰格式的Java对象属性名,以及将Java对象属性名自动转换为下划线格式的键。
示例代码如下:
```java
// 定义Java对象
public class User {
private String name;
private int age;
private Address address;
// 省略getter/setter方法
}
public class Address {
private String province;
private String city;
// 省略getter/setter方法
}
// 将Java对象转换为Map
User user = new User();
user.setName("张三");
user.setAge(20);
Address address = new Address();
address.setProvince("广东省");
address.setCity("深圳市");
user.setAddress(address);
Map<String, Object> map = new HashMap<>();
BeanUtil.beanToMap(user, map, false, true);
System.out.println(map);
// 输出结果:{name=张三, age=20, address_province=广东省, address_city=深圳市}
```
在上面的示例中,通过设置`BeanUtil.fillBeanWithMap`方法的第三个参数为`false`,可以禁用Map中的驼峰格式的键自动转换为Java对象属性名。而通过设置第四个参数为`true`,可以启用Java对象属性名自动转换为下划线格式的键。这样,就可以将嵌套对象字段也转换为下划线格式。
阅读全文