Java反射获取基本类型、包装类型、String对象类型的字段值
来源:互联网 发布:数据库 asc 编辑:程序博客网 时间:2024/03/29 03:36
package com.zkn.reflect.classinfo;import java.lang.reflect.Field;import java.lang.reflect.Type;import com.zkn.reflect.scope.Company;import com.zkn.reflect.scope.People;/** * <p>Title: </p> * * <p>Description: </p> * * * @since:2015-5-25 下午07:02:09 * */public class ClassInfo { public static void getParameters(Class<?> clazz) { Field[] fields = clazz.getDeclaredFields(); for(Field f : fields){ System.out.println(f.getName()); } } public static void getFieldsValue(Object obj) { Field[] fields = obj.getClass().getDeclaredFields(); /** * 基本类型、包装类型、String类型 */ String[] types = {"java.lang.Integer", "java.lang.Double", "java.lang.Float", "java.lang.Long", "java.lang.Short", "java.lang.Byte", "java.lang.Boolean", "java.lang.Character", "java.lang.String", "int","double","long","short","byte","boolean","char","float"}; for(Field f : fields){ f.setAccessible(true); try { for(String str : types) { if(f.getType().getName().equals(str)) System.out.println("字段:"+f.getName()+" 类型为:"+f.getType().getName()+" 值为:"+ f.get(obj)); } } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } public static void main(String[] args) throws Exception { People people = new People(); people.setAge(12); people.setSex("男"); Company company = new Company(); company.setAddress("北京"); company.setName("科技股份有限公司"); people.setCompany(company); people.setMoney(1000.00); getFieldsValue(people); } }package com.zkn.reflect.scope;/** * <p>Title: </p> * * <p>Description: </p> * * * @since:2015-5-25 下午07:04:22 * */public class People { /** * 姓名 */ private String name; /** * 性别 */ private String sex; /** * 年龄 */ private int age; /** * 地址 */ private String address; /** * 学校 */ public String school; /** * 公司 */ private Company company; /** * 金额 */ private Double money; 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 getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public Company getCompany() { return company; } public void setCompany(Company company) { this.company = company; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Double getMoney() { return money; } public void setMoney(Double money) { this.money = money; } }package com.zkn.reflect.scope;/** * <p>Title: </p> * * <p>Description: </p> * * * @since:2015-5-28 下午12:52:55 * */public class Company { /** * 公司名称 */ private String name; /** * 公司地址 */ private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Company [name=" + name + ", address=" + address + "]"; } }输出结果:字段:name 类型为:java.lang.String 值为:null字段:sex 类型为:java.lang.String 值为:男字段:age 类型为:int 值为:12字段:address 类型为:java.lang.String 值为:null字段:school 类型为:java.lang.String 值为:null字段:money 类型为:java.lang.Double 值为:1000.0
0 0
- Java反射获取基本类型、包装类型、String对象类型的字段值
- 基本类型包装对象
- Java的基本类型和包装类型
- java基本类型的包装
- 基本类型的包装类型
- Java基本包装类型
- Java面向对象-基本类型包装类
- Java面向对象,基本类型包装类
- [疯狂Java]面向对象:基本类型的包装器类型、自动装箱/拆箱、包装器类型大小/相等比较
- JavaScript内置对象--基本包装类型(Boolean、Number、String)详解
- Java基本类型的包装类
- java基本类型的包装类
- JAVA中基本类型的包装类
- java基本类型与包装类型
- java基本类型与包装类型
- java 基本类型和包装类型
- java基本类型与包装类型
- Java基本类型与包装类型
- 详解JPA 2.0动态查询机制:Criteria API(1)
- MFC中动态数组CArray的使用
- Be the Winner - HDU 2509 博弈论
- 第11周项目2.2 职工有薪水了(将2.1中的 string 改为 char * )
- 趣味图形之 正弦函数sin&&余弦函数cos相交
- Java反射获取基本类型、包装类型、String对象类型的字段值
- 详解JPA 2.0动态查询机制:Criteria API(2)
- 病理必背简答题
- 非洲四名少女发明尿液发电机
- 惊人的蝴蝶(图)
- 围观全球最奇特的电梯(图)
- 十八大知识竞赛(选择题)
- 一起学习
- 详解JPA 2.0动态查询机制:Criteria API(3)