`

java反射将对象取出所有属性值

    博客分类:
  • java
阅读更多
/**
	 * 传入对象
	 * @param obj 前提obj存在set get方法
	 * @return返回对象存在的属性值
	 * @throws Exception
	 */
	public static String ObjectParesToString(Object obj) throws Exception{
        Class userClass = Class.forName(obj.toString().split("@")[0]);//加载类
        Field[] fields = userClass.getDeclaredFields();//获得对象方法集合
        String fdname=null;
        Method metd = null;
            for (Field field : fields) {// 遍历该数组
                 fdname = field.getName();// 得到字段名,
                 metd = userClass.getMethod("get" + change(fdname), null);// 根据字段名找到对应的get方法,null表示无参数
                   Object name = metd.invoke(obj, null);// 调用该字段的get方法
                     if(name!=null){
                     	System.out.println(name);
                     }
             }
            return null;
	}

	   /**
     * @param src
     *            源字符串
     * @return 字符串,将src的第一个字母转换为大写,src为空时返回null
     */
    public static String change(String src) {
        if (src != null) {
            StringBuffer sb = new StringBuffer(src);
            sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
            return sb.toString();
        } else {
            return null;
        }
    }

 

public class User {
	
    private String name;

    private String sex;

    public User() {
        super();
    }

    public User(String name, String sex) {
        super();
        this.name = name;
        this.sex = sex;
    }

    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 static void main(String[] args) throws Exception {
    User u1=new User("张三", "女");
    Test.ObjectParesToString(u1);
    	
	}

 

分享到:
评论

相关推荐

    Java利用反射获取object的属性和值代码示例

    4.如何使用反射机制设置对象的属性值 5.反射机制的优缺点和使用场景 6.如何处理反射机制中的异常 这篇文章展示了Java反射机制的基本概念和使用方法,并提供了一个实用的例子来展示如何使用反射机制来获取对象的属性...

    java从list中取出对象并获得其属性值的方法

    总结来说,Java的反射机制为我们提供了一种灵活的方式来操作对象,包括从`List`中取出对象并获取其属性值。这种方法使得代码更具通用性和可复用性,特别适合处理各种类型的数据集合。在实际应用中,一定要注意处理...

    java中map和对象互转工具类的实现示例

    // 属性值 String setMethodName = "set" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1); Field field = getClassField(clazz, propertyName); // 获取和 Map 的 key 匹配的属性...

    java面试宝典

    27. **Java创建对象的方式**:包括new, clone, 序列化,反射等。 28. **能否自定义java.lang.String类**:不建议也不容易,因为String类在JVM中被特殊处理。 29. **Return和finally语句块的顺序**:finally块先于...

    Java 22道基础面试题.docx

    14. 反射机制:反射机制是在运行过程中可以获取任意一类的任意属性和方法,可以调用任意一类的属性和方法。 15. 反射方式:反射有三种方式,一种是通过对象调用 getClass() 方法,一种是用 Class.forName(...

    java简答题

    - **分代收集理论:** Java的垃圾回收机制还基于“分代收集理论”,即根据对象存活周期的不同将堆分为新生代和老年代,对不同区域的对象采用不同的回收策略。 - **垃圾收集器:** 不同版本的JVM提供了多种垃圾收集...

    \java超强笔记(超级经典)

    java.util.concurrent.atomic 包含了不用加锁情况下就能改变值的原子变量。 java.util.concurrent.locks 包含锁定的工具。 Executor接口: 替代了Thread类,他可以创建定量的、动态的以及周期性的线程池...

    List数据字段排序不关注数据库,直接排序

    - 使用反射调用对象的方法获取属性值。 - 根据属性值的类型(字符串、整型、浮点型)进行相应的比较。 5. **辅助方法**: - `objectToString()`: 将对象转换为字符串。 - `objectToInt()`: 将对象转换为整型。 ...

    黑马程序员入学面试题

    将用户输入在控制台上的指定路径下所有的.txt文件复制到c盘下随意目录(你可以自己指定路径)并在复制后将.txt后缀名更改成.java后缀名 可以使用File类和Files类的方法来实现文件的读取、复制和重命名。 #### 54. ...

    华为校园招聘历年经典面试题汇总:Java开发

    1. **入度表法**:记录每个顶点的入度,并将所有入度为0的顶点加入队列;每次取出队首顶点,并将其加入拓扑序列;然后遍历该顶点的所有邻接顶点,将它们的入度减1;若此时邻接顶点的入度变为0,则加入队列。 2. **...

    浅谈java Properties类的使用基础

    它的主要特点是将key/value作为配置属性写入到配置文件中以实现配置持久化,或从配置文件中读取这些属性。下面是对Java Properties类的使用基础的详细解释: 一、Properties类的特点 * 继承自HashTable,但不使用...

    自己实现orm框架

    - **ReflectUtils**:封装了反射相关的实用方法,便于对象实例化及属性访问。 #### 五、核心Bean - **ColumnInfo**:封装了一个表中的字段信息,包括字段类型、字段名称等。 - **Configuration**:封装了整个框架...

    hadoop源码阅读总结

    - `Handlers`从队列中取出`Call`对象,解析参数为`Invocation`对象,利用Java反射API调用服务端的实例对象处理请求,获取返回结果,并将结果封装到`Call`的`response`属性中。 - 处理完成后,调用`Responder`的`...

    net学习笔记及其他代码应用

    44.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,有相同的hash code。 45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 答:switch(expr1...

Global site tag (gtag.js) - Google Analytics