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

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

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

服務器之家 - 編程語言 - Java教程 - java Map轉Object與Object轉Map實現代碼

java Map轉Object與Object轉Map實現代碼

2020-08-05 11:43java教程網 Java教程

這篇文章主要介紹了 java Map轉Object與Object轉Map實現代碼的相關資料,需要的朋友可以參考下

java MapObject與 Object轉Map

1、定義一個實體類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package reflect;
 
public class User {
  
 private String name;
  
 private int age;
 
 public String getName() {
  return name;
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public int getAge() {
  return age;
 }
 
 public void setAge(int age) {
  this.age = age;
 }
}

2、Map轉Object轉換如下:

?
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package reflect;
 
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
 
public class testMapToObject {
  
 public static void main(String[] args){
   
  //假設有一個Map存放了一個對象的姓名和年齡
  Map<string,object> map = new HashMap<string,object>();
  map.put("name", "Kobi");
  map.put("age", 39);
   
  User user = transferMapToUser(map,User.class);
   
  System.out.println(user.getName());
  System.out.println(user.getAge());
 }
  
 public static <t> T transferMapToUser(Map<string,object> map,Class<t> classT){
  try {
   return transfer(map,classT.newInstance());
  } catch (InstantiationException ex) {
   System.out.println("what the fuck?");
  } catch (IllegalAccessException ex) {
   System.out.println("what the fuck?");
  }
  return null;
 }
  
 public static <t> T transfer(Map<string,object> map,Object obj){
   
  try {
   BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
   PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
 
   for (PropertyDescriptor property : propertyDescriptors) {
    String key = property.getName();
    if (map.containsKey(key)) {
     Object value = map.get(key);
     // 得到property對應的setter方法
     Method setter = property.getWriteMethod();
     try {
      setter.invoke(obj, value);
     } catch (IllegalArgumentException ex) {
      System.out.println("what the fuck?");
     }
    }
   }
  } catch (Exception ex) {
   System.out.println("what the fuck?");
  }
 
  return (T) obj;
 }
  
}

運行結果:

?
1
2
3
4
run:
Kobi
39
成功構建 (總時間: 0 秒)

3、Object轉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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package reflect;
 
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.TreeMap;
 
public class testObjectToMap {
  
 public static void main(String[] args){
  User user = new User();
  user.setName("Kobi");
  user.setAge(39);
   
  Map<string, object=""> map = transBean2Map(user);
  System.out.println(map);
   
 }
 
 public static Map<string, object=""> transBean2Map(Object obj) {
 
  if (obj == null) {
   return null;
  }
  TreeMap<string, object=""> map = new TreeMap<>();
  try {
   BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
   PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
   for (PropertyDescriptor property : propertyDescriptors) {
    String key = property.getName();
    // 過濾class屬性
    if (key.equals("class")) {
     continue;
    }
     
    // 得到property對應的getter方法
    Method getter = property.getReadMethod();
    Object value = getter.invoke(obj);
     
    map.put(key, value);
   }
  } catch (Exception e) {
   System.out.println("transBean2Map Error " + e);
  }
  return map;
 }
}

運行結果: 

?
1
2
3
run:
{age=39, name=Kobi}
成功構建 (總時間: 0 秒)

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://www.2cto.com/kf/201701/584920.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲国产精品电影在线观看 | 91网页版| 91精品国产色综合久久不卡蜜臀 | 一区日韩 | 精品欧美一区二区三区久久久 | 国产日韩精品入口 | 国产精品毛片久久久久久久 | 午夜欧美一区二区三区在线播放 | 黄色av大全| 久草视频网 | 国产一区二区三区成人 | 亚洲久久久久 | 一级视频在线播放 | 国产黄a三级三级看三级 | 国产精品日韩在线观看 | 色网站在线 | 亚洲精品无 | 亚洲精品一区二区三区四区高清 | 免费在线观看黄色av | 亚洲欧美高清 | 国产精品区一区二区三含羞草 | 欧美在线国产 | 国产精品久久久久久久免费大片 | 欧美久久久久久 | 亚洲人成网站在e线播放 | 欧美一级视频在线观看 | 亚洲精品视频免费 | 二区视频 | 91av精品视频| 久久久在线免费观看 | 一本大道专区 | 国产成人综合视频 | 国产成年人网站 | 免费一区二区三区四区 | 日韩精品一二三区 | 成人男女啪啪免费观软件 | 久久精品国产清自在天天线 | 国产成人精品午夜视频' | 日韩精品1区 | 国产91在线播放 | 精品久久一区 |