欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java bean和map互轉

謝彥文1年前7瀏覽0評論

Java Bean和Map互轉是在Java編程中經常用到的技巧。Java Bean是指一個符合特定標準的Java類,該類中的屬性通過getter和setter方法來獲取和設置值。而Map則是一種鍵值對的數據結構,可以用來存儲一組數據。下面介紹Java Bean和Map之間的互轉方法。

public static MapbeanToMap(Object obj) throws Exception {
if(obj == null) {
return null;
}
Mapmap = new LinkedHashMap<>();
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String k = property.getName();
if (!k.equals("class")) {
Method method = property.getReadMethod();
Object value = method.invoke(obj);
map.put(k, value);
}
}
return map;
}

上面的代碼實現了將Java Bean轉換為Map的功能。使用Introspector類獲取obj的屬性描述器,然后遍歷所有屬性并讀取其值。最后將屬性名和值存儲在Map中并返回。

public staticT mapToBean(Mapmap, Classclazz) throws Exception {
if(map == null) {
return null;
}
T obj = clazz.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(clazz);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
if (map.containsKey(key)) {
Object value = map.get(key);
Method setter = property.getWriteMethod();
setter.invoke(obj, value);
}
}
return obj;
}

上面的代碼實現了將Map轉換為Java Bean的功能。使用Introspector類獲取clazz的屬性描述器,然后遍歷所有屬性并按照對應關系設置屬性值。最后返回Java Bean對象。

Java Bean和Map互轉常用于將數據從Java類中轉換到Map中,或者將數據從數據庫中轉換到Java類中。通過這種方法可以方便地進行數據轉換,從而簡化編程。