本文介绍Java的Bean实体对象和Map互相转换的几种方法
测试用到的实体类
@Data class Person { private String name; private Integer age; }
依赖
cn.hutool hutool-all 5.4.6
引入工具类
import cn.hutool.core.bean.BeanUtil;
对象转换为Map
Person person = new Person(); person.setName("Alice"); person.setAge(30); // 对象转换为Map Map map = BeanUtil.beanToMap(person); System.out.println(map); // 输出:{name=Alice, age=30}
Map转换为对象
Map map = new HashMap<>(); map.put("name", "Alice"); map.put("age", 30); // Map转换为对象 Person person = BeanUtil.mapToBean(map, Person.class, true, null); System.out.println(person); // 输出:Person(name=Alice, age=30)
依赖
com.fasterxml.jackson.core jackson-databind 2.13.4
import com.fasterxml.jackson.databind.ObjectMapper;
对象转换为Map
Person person = new Person(); person.setName("Alice"); person.setAge(30); ObjectMapper objectMapper = new ObjectMapper(); // 对象转换为Map Map personMap = objectMapper.convertValue(person, Map.class); System.out.println(personMap); // 输出:{name=Alice, age=30}
Map转换为对象
Map map = new HashMap<>(); map.put("name", "Alice"); map.put("age", 30); ObjectMapper objectMapper = new ObjectMapper(); // Map转换为对象 Person person = objectMapper.convertValue(map, Person.class); System.out.println(person); // 输出:Person(name=Alice, age=30)
1、java中对象和Map互相转换的几种方式