龙空技术网

基于java遍历类的字段属性及其字段值

互联网路上的学习者 169

前言:

目前兄弟们对“java遍历对象所有属性”大致比较重视,我们都想要知道一些“java遍历对象所有属性”的相关知识。那么小编也在网摘上搜集了一些对于“java遍历对象所有属性””的相关资讯,希望我们能喜欢,同学们一起来了解一下吧!

今天遇到一个问题,在写一个单元测试用例时,想造一些数据,不从数据库查询了,但是这个类的字段属性又比较多,其实只用到一个字段即可。所以就想了,有什么好方法,能让程序给其他字段赋值呢,所以有了下文。

上代码

DetailEntity entity = new DetailEntity();// 将参数类转换为对应数量属性数量的Field类型数组(即该类有多少个属性字段N转换后的数组长度即为N)        Field[] fields = entity.getClass().getDeclaredFields();        for(Field  f : fields){            f.setAccessible(true);          // f.getName() 获取对应字段的属性名          String k = f.getName();                    // f.getType() 获取对应字段的类型            String type = f.getType().toString();            System.out.println(type);  // class java.lang.String            System.out.println(k);  // id            try {                // f.get(entity) 获取此属性对应的属性值                if (f.get(entity) == null && type.equals("class java.lang.String")){                    f.set(entity,""); // 设置值                }else if(f.get(entity) == null && (type.equals("int") || type.equals("class java.lang.Integer"))){                    f.set(entity,8);                }            } catch (IllegalAccessException e) {                e.printStackTrace();            }        }

如果有兴趣,不妨一试。。。

标签: #java遍历对象所有属性