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

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

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

服務(wù)器之家 - 編程語言 - Java教程 - 如何利用反射批量修改java類某一屬性的代碼詳解

如何利用反射批量修改java類某一屬性的代碼詳解

2020-07-26 00:14心寒丶 Java教程

這篇文章主要介紹了如何利用反射批量修改java類某一屬性,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

下面看下代碼,具體代碼如下所示:

java" id="highlighter_69490">
?
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package utils.copyProperty;
 
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
 
public class CopyProperty {
    public static PropertyDescriptor[] getPropertyDescriptor(Class<?> clz) throws Exception {
        PropertyDescriptor[] propertyDescriptorsFull =
                Introspector.getBeanInfo(clz).getPropertyDescriptors();
        PropertyDescriptor[] ps = new PropertyDescriptor[propertyDescriptorsFull.length - 1];
        int index = 0;
        for (PropertyDescriptor p : propertyDescriptorsFull) {
            if (!p.getName().equals("class")) {
                ps[index++] = p;
            }
        }
        return ps;
    }
    public static <T> T setPropertyValue(T t,String propertyName,Object value){
        try{
        //獲取屬性描述
        PropertyDescriptor[] pdArr = getPropertyDescriptor(t.getClass());
        PropertyDescriptor myPD = null;
        for (PropertyDescriptor p : pdArr) {
            //類屬性與傳入屬性對比,為了統(tǒng)一都轉(zhuǎn)小寫
            if(p.getName().toLowerCase().equals(propertyName.toLowerCase())){
                //獲取需要修改屬性
                myPD = p;
                break;
            }
        }
        //根據(jù)需要修改屬性,修改屬性值
        if(myPD!=null){
            Method writeMethod = myPD.getWriteMethod();
            if(myPD.getPropertyType().getName().equals("java.lang.String"))
            {
                writeMethod.invoke(t, value.toString());
            }else{
                writeMethod.invoke(t, value);
            }
            
        }
        }catch(Exception e){
            e.printStackTrace();
        }
        return t;
    }
    public static <T>Collection<T> setPropertyValue(Collection<T> coll,String propertyName,Object value) {
        if(coll!=null)
        for(T t : coll){
            setPropertyValue(t,propertyName,value);
        }
        return coll;
    }
    
    public static void main(String args[]) throws Exception{
        ArrayList<Student> students=new ArrayList();
        Student student=new Student();
        Student student1=new Student();
        students.add(student);
        students.add(student1);
        for (Student stu:students){
            System.out.println("賦值之前:"+stu.getValidStatus());
        }//修改validStatus為0
        CopyProperty.setPropertyValue(students, "validStatus", "0");
        for (Student stu:students){
            System.out.println("賦值之后:"+stu.getValidStatus());
        }
        
        
    }
    public static class Student{
 
        private String name ;
        private String sex;
        private String validStatus="1";
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String getValidStatus() {
            return validStatus;
        }
        public void setValidStatus(String validStatus) {
            this.validStatus = validStatus;
        }
        
    }
 
}

把student的validStatus狀態(tài)都修改為0,測試效果如下:

如何利用反射批量修改java類某一屬性的代碼詳解

到此這篇關(guān)于如何利用反射批量修改java類某一屬性的文章就介紹到這了,更多相關(guān)批量修改java類某一屬性內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/jungeCSND/article/details/107529497

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 国产精品精品久久久 | 日韩中文一区二区三区 | 日韩精品一区在线 | 国产精品99久久久久久久vr | 国产精品国产精品国产专区不卡 | 黄色大片在线播放 | 羞羞网站免费观看 | 久草免费在线视频 | 日韩精品一区二区三区在线观看视频网站 | 婷婷综合久久 | 夜夜操天天干, | 亚洲免费看片 | 久久久久久网站 | 久久久久久久99 | 可以看的毛片网站 | 国产精品com| 久久综合一 | 午夜黄色影院 | 国内毛片毛片 | 色五月激情综合网 | 亚洲一区二区在线播放 | 黑人av| 欧美一级一区 | 久久久九色 | 国产黄色av网站 | 国产成人精品一区二区三区视频 | 国产精品区二区三区日本 | 色人久久| 欧美一区二区三区免费 | av中文字幕在线 | 天天射天天干 | 理论电影在线 | 成人免费xxx在线观看 | 欧美日韩一区二区视频在线观看 | 欧美日韩一区二区三区在线观看 | 久久国产福利 | 一区二区三区日韩 | 91在线网 | jizzz中国 | 免费av片网站 | 日韩在线播放视频 |