`
dengminghua1016
  • 浏览: 125649 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java获取对象属性类型、属性名称、属性值

    博客分类:
  • java
阅读更多
/**
* 根据属性名获取属性值
* */
    private Object getFieldValueByName(String fieldName, Object o) {
        try { 
            String firstLetter = fieldName.substring(0, 1).toUpperCase(); 
            String getter = "get" + firstLetter + fieldName.substring(1); 
            Method method = o.getClass().getMethod(getter, new Class[] {}); 
            Object value = method.invoke(o, new Object[] {}); 
            return value; 
        } catch (Exception e) { 
            log.error(e.getMessage(),e); 
            return null; 
        } 
    }
   
    /**
     * 获取属性名数组
     * */
    private String[] getFiledName(Object o){
    Field[] fields=o.getClass().getDeclaredFields();
       String[] fieldNames=new String[fields.length];
    for(int i=0;i<fields.length;i++){
    System.out.println(fields[i].getType());
    fieldNames[i]=fields[i].getName();
    }
    return fieldNames;
    }
   
    /**
     * 获取属性类型(type),属性名(name),属性值(value)的map组成的list
     * */
    private List getFiledsInfo(Object o){
    Field[] fields=o.getClass().getDeclaredFields();
       String[] fieldNames=new String[fields.length];
       List list = new ArrayList();
       Map infoMap=null;
    for(int i=0;i<fields.length;i++){
    infoMap = new HashMap();
    infoMap.put("type", fields[i].getType().toString());
    infoMap.put("name", fields[i].getName());
    infoMap.put("value", getFieldValueByName(fields[i].getName(), o));
    list.add(infoMap);
    }
    return list;
    }
   
    /**
     * 获取对象的所有属性值,返回一个对象数组
     * */
    public Object[] getFiledValues(Object o){
    String[] fieldNames=this.getFiledName(o);
    Object[] value=new Object[fieldNames.length];
    for(int i=0;i<fieldNames.length;i++){
    value[i]=this.getFieldValueByName(fieldNames[i], o);
    }
    return value;
    }
分享到:
评论

相关推荐

    利用反射机制动态获取对象属性名称及数据类型

    利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性...

    根据javabean动态获取字段以及中文名称

    javabean中有100个属性字段,想要在前端页面获取这100个字段和字段对应的中文名称,如用户名称(username),密码(password),可以动态的获取到中文名称和属性字段,并返回前端页面,本例只实现动态解析功能

    头歌java面向对象答案.pdf

    我们还定义了对应的方法来获取和设置这些属性的值。最后,我们实现了一个play()方法,用于输出当前播放的歌曲信息。 好的,以下是对上述Java代码的进一步解释和扩展: 1. 类(Class):在Java中,我们使用类来定义...

    Java中List集合对象去重及按属性去重的8种方法

    主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下

    Java开发技术大全(500个源代码).

    changeFields.java 改变属性值示例 Circle.java 一个用于测试的简单类 DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用...

    JAVA_API1.6文档(中文)

    java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...

    Java 1.6 API 中文 New

    java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...

    java api最新7.0

    java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...

    JavaAPI1.6中文chm文档 part1

    java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...

    java 面试题 总结

    对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    超级有影响力霸气的Java面试题大全文档

    对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别  JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的...

    JavaAPI中文chm文档 part2

    java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...

    候捷谈Java反射机制

    换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。这种“看透class”的能力(the ability of the program ...

    Java开发技术大全 电子版

    第2篇Java面向对象编程 第3章对象和类98 3.1面向对象的基本概念98 3.1.1对象98 3.1.2类99 3.1.3消息101 3.1.4面向对象的4个基本特征101 3.2类与对象104 3.2.1类的基本结构104 3.2.2类的声明104 3.2.3创建...

    使用Java内部类实现一个简单的购物车系统.txt

    这个代码实现了一个简单的购物车系统。首先定义了一个ShoppingCart类,其中有一个List类型的items属性和一个double...在main方法中创建了一个ShoppingCart对象,并演示了如何添加商品、移除商品以及获取总价的操作。

    Java EE常用框架.xmind

    4,optional属性表示关联的该实体是否能够存在null值,默认为ture,如果设置为false,则该实体不能为null, 5, mapperBy属性:指关系被维护端 1,@JoinColumn注释是保存表与表之间关系的字段 2,如果不设置...

    设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)

    分别用来设置和获取学生各个属性值的set()和get()成员函数(例如:设置数学成绩的成员函数setMath().返回数学成绩的成员函数 getMath());计算三门课程总成绩的函数sum();显示学生数据信息的函数print();(注意:...

Global site tag (gtag.js) - Google Analytics