LinkedHashMap 转 bean
时间: 2023-12-25 14:29:27 浏览: 182
map 和 bean 之间的转换
5星 · 资源好评率100%
LinkedHashMap 转 bean 可以通过使用 Java 的反射机制来实现。可以按照以下步骤进行转换:
1. 创建一个空的目标 bean 对象。
2. 遍历 LinkedHashMap 的键值对。
3. 使用反射获取目标 bean 对象的属性,并将 LinkedHashMap 的值赋给对应的属性。
4. 返回转换后的目标 bean 对象。
下面是一个示例代码,演示了如何将 LinkedHashMap 转换为 bean:
```java
import java.lang.reflect.Field;
import java.util.LinkedHashMap;
public class LinkedHashMapToBeanConverter {
public static <T> T convert(LinkedHashMap<String, Object> map, Class<T> clazz) throws Exception {
T bean = clazz.getDeclaredConstructor().newInstance();
for (String key : map.keySet()) {
Object value = map.get(key);
Field field = clazz.getDeclaredField(key);
field.setAccessible(true);
field.set(bean, value);
}
return bean;
}
public static void main(String[] args) throws Exception {
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
map.put("name", "John");
map.put("age", 25);
map.put("gender", "Male");
Person person = convert(map, Person.class);
System.out.println(person.getName()); // 输出:John
System.out.println(person.getAge()); // 输出:25
System.out.println(person.getGender()); // 输出:Male
}
}
class Person {
private String name;
private int age;
private String gender;
// 省略 getter 和 setter 方法
}
```
请注意,上述示例中的 Person 类需要具有与 LinkedHashMap 中键对应的属性,并且需要提供相应的 getter 和 setter 方法。
阅读全文