国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Javabean和map相互轉(zhuǎn)化方法代碼示例

Javabean和map相互轉(zhuǎn)化方法代碼示例

2021-01-01 12:54chenxuejiakaren Java教程

這篇文章主要介紹了Javabean和map相互轉(zhuǎn)化方法示例,介紹了其通用方法代碼,需要的朋友可以參考下。

在做導入的時候,遇到了需要將map對象轉(zhuǎn)化 成javabean的問題,也就是說,不清楚javabean的內(nèi)部字段排列,只知道m(xù)ap的 key代表javabean的字段名,value代表值。

那現(xiàn)在就需要用轉(zhuǎn)化工具了。是通用的哦!

首先來看 JavaBean 轉(zhuǎn)化成Map的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[java]
/**
   * 將一個 JavaBean 對象轉(zhuǎn)化為一個 Map
   * @param bean 要轉(zhuǎn)化的JavaBean 對象
   * @return 轉(zhuǎn)化出來的 Map 對象
   * @throws IntrospectionException 如果分析類屬性失敗
   * @throws IllegalAccessException 如果實例化 JavaBean 失敗
   * @throws InvocationTargetException 如果調(diào)用屬性的 setter 方法失敗
   */
  @SuppressWarnings({ "rawtypes", "unchecked" })
  public static Map convertBean(Object bean)
      throws IntrospectionException, IllegalAccessException, InvocationTargetException {
    Class type = bean.getClass();
    Map returnMap = new HashMap();
    BeanInfo beanInfo = Introspector.getBeanInfo(type);
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (int i = 0; i< propertyDescriptors.length; i++) {
      PropertyDescriptor descriptor = propertyDescriptors[i];
      String propertyName = descriptor.getName();
      if (!propertyName.equals("class")) {
        Method readMethod = descriptor.getReadMethod();
        Object result = readMethod.invoke(bean, new Object[0]);
        if (result != null) {
          returnMap.put(propertyName, result);
        } else {
          returnMap.put(propertyName, "");
        }
      }
    }
    return returnMap;
  }

下面是將Map轉(zhuǎn)化成JavaBean對象的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[java]
/**
   * 將一個 Map 對象轉(zhuǎn)化為一個 JavaBean
   * @param type 要轉(zhuǎn)化的類型
   * @param map 包含屬性值的 map
   * @return 轉(zhuǎn)化出來的 JavaBean 對象
   * @throws IntrospectionException 如果分析類屬性失敗
   * @throws IllegalAccessException 如果實例化 JavaBean 失敗
   * @throws InstantiationException 如果實例化 JavaBean 失敗
   * @throws InvocationTargetException 如果調(diào)用屬性的 setter 方法失敗
   */
  @SuppressWarnings("rawtypes")
  public static Object convertMap(Class type, Map map)
      throws IntrospectionException, IllegalAccessException,
      InstantiationException, InvocationTargetException {
    BeanInfo beanInfo = Introspector.getBeanInfo(type); // 獲取類屬性
    Object obj = type.newInstance(); // 創(chuàng)建 JavaBean 對象
    // 給 JavaBean 對象的屬性賦值
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (int i = 0; i< propertyDescriptors.length; i++) {
      PropertyDescriptor descriptor = propertyDescriptors[i];
      String propertyName = descriptor.getName();
 
      if (map.containsKey(propertyName)) {
        // 下面一句可以 try 起來,這樣當一個屬性賦值失敗的時候就不會影響其他屬性賦值。
        Object value = map.get(propertyName);
 
        Object[] args = new Object[1];
        args[0] = value;
 
        descriptor.getWriteMethod().invoke(obj, args);
      }
    }
    return obj;
  }

 

以上內(nèi)容我測試過,是沒有問題的,供大家參考學習。感謝大家對本站的支持。

原文鏈接:https://www.2cto.com/kf/201207/141981.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区久久久久 | 成人在线免费观看 | 欧美精品久久久久久久久老牛影院 | 久久久国产一区二区三区 | 欧美午夜精品久久久久久浪潮 | 色婷婷综合久久久中字幕精品久久 | 成人在线一区二区三区 | 成人羞羞视频在线看网址 | 久久国内 | 午夜久久久 | 免费观看av电影 | 亚洲成a人v欧美综合天堂麻豆 | 成人爽视频 | 国产日韩欧美 | 91麻豆精品国产91久久久久久 | 欧美日韩亚洲另类 | 精品视频第一页 | 久久中文字幕一区 | 91黄在线观看 | 在线免费av观看 | 色偷偷888欧美精品久久久 | 欧美亚洲综合另类 | 欧美精品一区自拍a毛片在线视频 | 精品国产一区探花在线观看 | 国产成人91 | 亚洲综合欧美日韩 | 日韩欧美在线观看一区二区三区 | 日韩在线视频中文字幕 | 欧美另类专区 | av免费在线观看网站 | 午夜免费电影 | 午夜精品福利一区二区三区蜜桃 | 欧美成人免费网站 | 日韩黄网 | 成人免费一区二区三区视频网站 | 在线免费观看黄色 | 欧美a级网站 | 国产欧美日韩综合精品一区二区 | 免费啪啪av乱一区 | 久久久久久国产精品mv | www.欧美视频 |