java对象转map工具类
时间: 2024-07-29 12:01:19 浏览: 48
在Java中,为了方便地将对象转换为Map,可以创建一个工具类,通常采用反射API来动态获取对象的属性并将其映射到Map中。下面是一个简单的示例:
```java
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapConverter {
public static <T> Map<String, Object> objectToMap(T obj) {
if (obj == null) {
return new HashMap<>();
}
Map<String, Object> map = new HashMap<>();
try {
Class<?> clazz = obj.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true); // 让私有字段可访问
String fieldName = field.getName(); // 获取字段名
map.put(fieldName, field.get(obj)); // 将字段值放入Map
}
} catch (IllegalAccessException e) {
throw new RuntimeException("Failed to access field", e);
}
return map;
}
}
```
这个`ObjectToMapConverter`类中的`objectToMap`方法接受一个对象作为参数,遍历该对象的所有公共和受保护字段,并将它们的名称和对应的值添加到Map中。
使用例子:
```java
YourClass yourObj = ...; // 实例化对象
Map<String, Object> map = ObjectToMapConverter.objectToMap(yourObj);
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)