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

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

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

服務器之家 - 編程語言 - Java教程 - Java實現不同的類的屬性之間相互賦值

Java實現不同的類的屬性之間相互賦值

2021-07-26 10:49徐劉根 Java教程

今天小編就為大家分享一篇關于Java實現不同的類的屬性之間相互賦值,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

在開發的時候可能會出現將一個類的屬性值,復制給另外一個類的屬性值,這在讀寫數據庫的時候,可能會經常的遇到 ,特別是對于一個有繼承關系的類的時候,我們需要重寫很多多余的代碼,下面有一種簡單的方法實現該功能

1、首先有兩個類,兩個類之間有相同的屬性名和類型,也有不同的屬性名很類型:

?
1
2
3
4
5
6
7
8
public class classtestcopy2 {
  private int id;
  private string name;
  private string password;
  private string sex;
  private string age;
  //get和set方法
}
?
1
2
3
4
5
6
public class classtestcopy1 {
  private int id;
  private string name;
  private string password;
  //get和set方法
}

2、下邊的就是實現該功能的方法體:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void copy(object source, object dest) throws exception {
    // 獲取屬性
    beaninfo sourcebean = introspector.getbeaninfo(source.getclass(), java.lang.object.class);
    propertydescriptor[] sourceproperty = sourcebean.getpropertydescriptors();
    beaninfo destbean = introspector.getbeaninfo(dest.getclass(), java.lang.object.class);
    propertydescriptor[] destproperty = destbean.getpropertydescriptors();
    try {
      for (int i = 0; i < sourceproperty.length; i++) {
        for (int j = 0; j < destproperty.length; j++) {
          if (sourceproperty[i].getname().equals(destproperty[j].getname())) {
            // 調用source的getter方法和dest的setter方法
            destproperty[j].getwritemethod().invoke(dest, sourceproperty[i].getreadmethod().invoke(source));
            break;
          }
        }
      }
    } catch (exception e) {
      throw new exception("屬性復制失敗:" + e.getmessage());
    }
  }

3、下邊進行測試:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(string[] args) {
    classtestcopy1 c1 = new classtestcopy1(1205030213, "name:xuliugen","password:123456");
    classtestcopy2 c2 = new classtestcopy2();
    try {
      copybeanparamstest.copy(c1, c2);
      system.out.println("-------------c1----------------");
      system.out.println(c2.getid());
      system.out.println(c2.getname());
      system.out.println(c2.getpassword());
      system.out.println(c2.getsex());
      system.out.println(c2.getage());
    } catch (exception e) {
      e.printstacktrace();
    }
  }

4、測試結果如下:

Java實現不同的類的屬性之間相互賦值

可知具有相同屬性名和類型的屬性被賦值,剩下的沒有被匹配到的結果則為null;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/xlgen157387/article/details/47126279

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精美视频 | 女人色网 | 欧美激情视频一区二区三区在线播放 | 亚洲www啪成人一区二区 | 国产成人99久久亚洲综合精品 | 日韩中文字幕视频在线 | 亚洲欧美日韩精品久久亚洲区 | 中文字幕69av | 中文字幕一区二区三区在线视频 | 色国产精品 | 狠狠干狠狠干 | 午夜精品福利一区二区三区蜜桃 | 欧美久久久精品 | 亚洲一区二区三区蜜桃 | 免费看黄色一级大片 | 精品欧美乱码久久久久久1区2区 | 欧美不卡一区二区三区 | 日韩有码在线观看 | 自拍偷拍中文字幕 | 国产欧美日韩综合精品一区二区 | 一区二区三区四区在线 | 黄色最新网站 | 久久综合久色欧美综合狠狠 | 在线视频亚洲 | 亚洲欧美另类在线 | 亚洲成人精品av | 亚洲国产中文字幕在线 | 免费观看a视频 | 国产精品一区二区三区在线 | 欧美人交a欧美精品 | 亚洲一区二区av | 亚洲成av人片在线观看无码 | 亚洲精品福利在线 | 无码一区二区三区视频 | 91av亚洲 | 精品国产91 | 精品伊人 | 日韩精品免费在线观看 | 色接久久 | 日韩av免费播放 | 淫片一级国产 |