精华内容
下载资源
问答
  • Java遍历一个类的所有属性和值

    万次阅读 2019-08-13 11:40:16
    今天在尝试使用Java反射来实现Java导出数据库数据到Excel中,然后在尝试获取所有的属性的时候,由于对于反射的不熟练,然后找到了篇博文,所以在此进行记录,以供未来参考,原博文地址: ... private void bianLi...

    今天在尝试使用Java反射来实现Java导出数据库数据到Excel中,然后在尝试获取类所有的属性的时候,由于对于反射的不熟练,然后找到了一篇博文,所以在此进行记录,以供未来参考,原博文地址:
    https://blog.csdn.net/ztx114/article/details/78274314

    private void bianLi(Object obj){
    		 Field[] fields = obj.getClass().getDeclaredFields();
    		 for(int i = 0 , len = fields.length; i < len; i++) {
    		 // 对于每个属性,获取属性名
    		 String varName = fields[i].getName();
    		 try {
    		 // 获取原来的访问控制权限
    		 boolean accessFlag = fields[i].isAccessible();
    		 // 修改访问控制权限
    		 fields[i].setAccessible(true);
    		 // 获取在对象f中属性fields[i]对应的对象中的变量
    		 Object o;
    		try {
    			o = fields[i].get(obj);
    			System.err.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
    		} catch (IllegalAccessException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		 // 恢复访问控制权限
    		 fields[i].setAccessible(accessFlag);
    		 } catch (IllegalArgumentException ex) {
    		 ex.printStackTrace();
    		 } 
    	}
    }
    
    展开全文
  • 下面小编就为大家带来java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做参考。一起跟随小编过来看看吧
  • java遍历实体属性和值

    千次阅读 2018-09-21 10:28:58
    实体:   public class User implements Serializable { private static final long serialVersionUID = 1L; private String pkid; private String userName; private String p...

    代码如下:

    实体类:

     

    public class User implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        private String pkid;
        
        private String userName;
        
        private String passWord;
        
        private String roleID;
    }

    遍历:

     

    public class test {
    
            public static void main(String[] args) throws Exception{  
                User e = new User();  
                reflect(e);  
            }
            
            public static void reflect(User e) throws Exception{  
                Class cls = e.getClass();  
                Field[] fields = cls.getDeclaredFields();  
                for(int i=0; i<fields.length; i++){  
                    Field f = fields[i];  
                    f.setAccessible(true);  
                    System.out.println("属性名:" + f.getName() + " 属性值:" + f.get(e));  
                }   
            } 
    }

     

    输出:

    展开全文
  • java遍历一个对象的所有属性

    千次阅读 2019-02-24 14:43:49
    java遍历一个对象的所有属性

    分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

                   

    本文转载自(http://www.cnblogs.com/137913828S2/archive/2012/07/10/2584774.html)

    java中遍历实体类属性和类型,属性值

    public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
            Field[] field = model.getClass().getDeclaredFields();        //获取实体类的所有属性,返回Field数组  
            for(int j=0 ; j<field.length ; j++){     //遍历所有属性
                    String name = field[j].getName();    //获取属性的名字
                    
                    System.out.println("attribute name:"+name);     
                    name = name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符大写,方便构造get,set方法
                    String type = field[j].getGenericType().toString();    //获取属性的类型
                    if(type.equals("class java.lang.String")){   //如果type是类类型,则前面包含"class ",后面跟类名
                        Method m = model.getClass().getMethod("get"+name);
                        String value = (String) m.invoke(model);    //调用getter方法获取属性值
                        if(value != null){

                            System.out.println("attribute value:"+value);
                        }
                    }
                    if(type.equals("class java.lang.Integer")){     
                        Method m = model.getClass().getMethod("get"+name);
                        Integer value = (Integer) m.invoke(model);
                        if(value != null){
                            System.out.println("attribute value:"+value);
                        }
                    }
                    if(type.equals("class java.lang.Short")){     
                        Method m = model.getClass().getMethod("get"+name);
                        Short value = (Short) m.invoke(model);
                        if(value != null){
                            System.out.println("attribute value:"+value);                    }
                    }       
                    if(type.equals("class java.lang.Double")){     
                        Method m = model.getClass().getMethod("get"+name);
                        Double value = (Double) m.invoke(model);
                        if(value != null){                    
                            System.out.println("attribute value:"+value);  
                        }
                    }                  
                    if(type.equals("class java.lang.Boolean")){
                        Method m = model.getClass().getMethod("get"+name);    
                        Boolean value = (Boolean) m.invoke(model);
                        if(value != null){                      
                            System.out.println("attribute value:"+value);
                        }
                    }
                    if(type.equals("class java.util.Date")){
                        Method m = model.getClass().getMethod("get"+name);                    
                        Date value = (Date) m.invoke(model);
                        if(value != null){
                            System.out.println("attribute value:"+value.toLocaleString());
                        }
                    }                
                }
        }

               

    分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • java遍历类中的属性属性

    千次阅读 2017-02-17 13:41:20
    有些时候我们需要一个类中的所有属性信息,在类属性少的情况下我们可以一个一个的通过get和set获得,但是如果多了的话就比较麻烦了,在这里我们可以通过反射来遍历。 public void getAlixIntegrity(ApplyCust ...

         有些时候我们需要一个类中的所有属性信息,在类属性少的情况下我们可以一个一个的通过get和set获得,但是如果多了的话就比较麻烦了,在这里我们可以通过反射来遍历。

    public void getAlixIntegrity(ApplyCust applyCust) throws NoSuchMethodException, Exception{
    		
    		// 获取实体类的所有属性,返回Field数组  
            Field[] field = applyCust.getClass().getDeclaredFields();  
            // 遍历所有属性  
            for (int j = 0; j < field.length; j++) {  
                    // 获取属性的名字  
                    String name = field[j].getName();  
                    // 将属性的首字符大写,方便构造get,set方法  
                    name = name.substring(0, 1).toUpperCase() + name.substring(1);  
                    // 获取属性的类型  
                    String type = field[j].getGenericType().toString();  
                    // 如果type是类类型,则前面包含"class ",后面跟类名  
                    //System.out.println("属性为:" + name);  
                    if (type.equals("class java.lang.String")) {  
                            Method m = applyCust.getClass().getMethod("get" + name);  
                            // 调用getter方法获取属性值  
                            String value = (String) m.invoke(applyCust);  
                            //System.out.println("数据类型为:String");  
                            if (value != null || value == "") {  
                                    //System.out.println("属性值为:" + value);  
                                    
                            } else {  
                                    //System.out.println("属性值为:空");  
                                    nullCount ++;
                            }  
                    }  
                    if (type.equals("class java.lang.Integer")) {  
                            Method m = applyCust.getClass().getMethod("get" + name);  
                            Integer value = (Integer) m.invoke(applyCust);  
                            //System.out.println("数据类型为:Integer");  
                            if (value != null) {  
                                    //System.out.println("属性值为:" + value);  
                            } else {  
                                    //System.out.println("属性值为:空");  
                                    nullCount ++;
                            }  
                    }  
                    if (type.equals("class java.lang.Long")) {  
                            Method m = applyCust.getClass().getMethod("get" + name);  
                            Long value = (Long) m.invoke(applyCust);  
                            //System.out.println("数据类型为:Long");  
                            if (value != null) {  
                                    //System.out.println("属性值为:" + value);  
                            } else {  
                                    //System.out.println("属性值为:空");  
                                    nullCount ++;
                            }  
                    }  
                    if (type.equals("class java.lang.Double")) {  
                            Method m = applyCust.getClass().getMethod("get" + name);  
                            Double value = (Double) m.invoke(applyCust);  
                            //System.out.println("数据类型为:Double");  
                            if (value != null) {  
                                    //System.out.println("属性值为:" + value);  
                            } else {  
                                    //System.out.println("属性值为:空");  
                                    nullCount ++;
                            }  
                    }  
                    if (type.equals("class java.util.Date")) {  
                            Method m = applyCust.getClass().getMethod("get" + name);  
                            Date value = (Date) m.invoke(applyCust);  
                            //System.out.println("数据类型为:Date");  
                            if (value != null) {  
                                    //System.out.println("属性值为:" + value);  
                            } else {  
                                    //System.out.println("属性值为:空"); 
                                    nullCount ++;
                            }  
                    }  
            } 
    		
            tatolCount = field.length;
            integrity = (tatolCount - nullCount) * 1.0 / tatolCount;
    		return integrity;
    	}
         这样有什么类型就都可以遍历了。

    展开全文
  • java遍历类属性,并给字段赋值

    万次阅读 2020-05-28 16:43:17
    今天做一个导出excel的功能,需要导出八九十个字段,然后...后来发觉很多BigDecimal字段都为空,然后导出的时候报空指针异常,想想不可能这八九十个字段都加判断吧,然后就写了一个工具,用来转换Long,BigDecimal为.
  • java遍历实体类属性字段及值

    千次阅读 2019-11-19 10:16:32
    https://blog.csdn.net/dongzhouzhou/article/details/8659836 https://blog.csdn.net/bwgang/article/details/8475076
  • JAVA-遍历实体类属性

    千次阅读 2018-09-04 09:01:16
    package ... import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.jfree.util.Log; impor...
  • Java遍历对象所有属性

    2017-06-20 23:13:00
    要获取对象的所有属性可以使用getDeclaredFields()方法会返回一个Field数组遍历这个数组几个遍历所有属性注意使用这个方法会抛出4个异常然后根据属性的类型选择执行对应的内容 public static void eachProperties...
  • 本文是Java反射的一个常见的案例,常见的情况是,给到一个对象,需要把对象的每个属性和值重新生成一个Map或者Array,这个时候就是要要到反射啦,不多说,上干货: public static ArrayList&lt;NameValuePair&...
  • 原文地址:...方式(实体): //java遍历实体,获取属性名和属性值 public static void testReflect(Object model) throws Exception{ for (Field field : model.getClass...
  • j++){ //遍历所有属性 String name = field[j].getName(); //获取属性的名字 System.out.println("attribute name:"+name); name = name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符...
  • java遍历类中所有字段

    2021-06-30 17:30:22
    代码: //遍历类中所有字段信息 ... //将参数转换为对应属性数量的Field类型数组(即该有多少个属性字段 N 转换后的数组长度即为 N) Field[] fie
  • java 枚举遍历键值对 属性类Properties 加载器
  • public class ReflectUtil { public static void reflect(Object ...//将参数转换为对应属性数量的Field类型数组(即该有多少个属性字段 N 转换后的数组长度即为 N)Field[] fields = cls.getDeclaredFields();...
  • //循环遍历OaInfoAssess实体中的属性与值for (Field field : oaInfoAssess.getClass().getDeclaredFields()){ //设置可以获取私人属性 field.setAccessible(true); try { Class type = field.getType();// 得到此...
  • 业务场景:一个房产交易系统中的业务需求,查询房屋交易状态接口,调用第三方接口返回一个vo对象,该对象的属性主要是描述该房屋的交易情况,比如是否抵押,是否被查封等,现在需要利用该对象的值决定返回给调用方的...
  • Java遍历实体

    千次阅读 2019-12-26 14:51:48
    public void reflect(Object obj) throws Exception{ Class cls = obj.getClass(); Field[] fields = cls.... System.out.println("属性名:" + f.getName() + " 属性值:" + f.get(e)); } }  
  • java遍历一个实体

    2019-09-29 02:47:56
    //遍历order,得到属性值不为空的属性,type:操作类型。0是新增,1是更新 private Map<String, Object> reflect(Order order,String type) throws Exception{ Map<String, Object> map=new HashMap&...
  • 如何遍历java对象属性

    千次阅读 2020-04-30 17:57:43
    我们通常直接获取json对象,或创建一个dto对象映射json对象,并将值插入到固定的地方。如果客户端传递的参数特别多,前面的一对一的操作显然不太合适,这将编写大量看起来臃肿的代码。所以,更有效的方式是遍历json...
  • * 遍历实体属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws InvocationTargetException */ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 247,038
精华内容 98,815
关键字:

java遍历一个类的属性

java 订阅