【java】之Method和Field反射获取和设置属性值
package com.javaluna.reflect; import java.lang.reflect.Field;
import java.lang.reflect.Method; import org.junit.Test; public class ReflectDemo01{ @Test
public void test0() throws Exception{
Person person=new Person();
person.setId(1);
person.setName("张三");
person.setAddress("上海");
Class<? extends Person> c = person.getClass();
Field[] fields = c.getDeclaredFields();//获取所有属性字段 private public,但是不包含父类
for(Field f:fields){
f.setAccessible(true);
String fieldName=f.getName();
if(fieldName.equals("address")){
f.set(person, "北京");//设置属性值
}
Object fieldVal=f.get(person);//获取属性值
System.out.println("fieldName = "+fieldName+" fieldVal = "+fieldVal); }
//直接获取某个字段值
Method m=c.getDeclaredMethod("getId");
System.out.println(m.invoke(person));//获取属性值
Method m1=c.getDeclaredMethod("setName",String.class);
m1.invoke(person, "李四");//设置属性值
System.out.println(person.getName());
}
} class Person{ private Integer id;
private String name;
private String address; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
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;
} }
关于反射详解:http://www.cnblogs.com/onlywujun/p/3519037.html
【java】之Method和Field反射获取和设置属性值的更多相关文章
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- java反射获取字段的属性值,以及为字段赋值等方法
1.获取某个类的属性值 /*利用getter方法获取值(首字母大写) CjJssetDTO obj: */ String filedName = "Cj"+(i+1); Class ...
- Java反射学习-1 - 反射获取类的属性,方法,构造器
新建一个Person类 package cn.tx.reflect; /** * 注解初步了解 * @author Administrator * */ public class Person { p ...
- java利用反射获取类的属性及类型
java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...
- java反射获取和设置实体类的属性值 递归所有父类
最近做一个通用数据操作接口,需要动态获取和设置实体类的属性值,为了通用实体做了多重继承,开始网上找到代码都不支持父类操作,只能自己搞一个工具类了,此工具类可以设置和获取所有父类属性,代码贴下面拿走不谢 ...
- Java反射获取对象成员属性,getFields()与getDeclaredFields()方法的区别
Java反射获取对象成员属性,getFields()与getDeclaredFields()方法的区别 在工作中遇到一个问题,就是你需要去判断某个字符串是不是对象的某个成员属性名,然后根据判断结果 ...
- c# 如何通过反射 获取\设置属性值
c# 如何通过反射 获取\设置属性值 //定义类public class MyClass{public int Property1 { get; set; }}static void Main(){M ...
- go语言通过反射获取和设置结构体字段值的方法
本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: type MyStruct struct { N int } n := MyStruct{ 1 } ...
- jquery attr()方法 添加,修改,获取对象的属性值。
jquery attr()方法 添加,修改,获取对象的属性值. jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到 ...
随机推荐
- 检测IP地址冲突的shell脚本-check_server_ip_conflict.sh
check_server_ip_conflict.sh 使用arping获取对应IP地址的MAC地址,如果和预料的不一致则报警: #!/bin/bash epg_addr_01="00:50 ...
- [LeetCode&Python] Problem 453. Minimum Moves to Equal Array Elements
Given a non-empty integer array of size n, find the minimum number of moves required to make all arr ...
- C#读取文件夹下所有指定类型,并返回相应类型数据
C#读取文件夹下所有文件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...
- 软件安装配置笔记(一)——Oracle及PLSQL Developer的安装与配置
一.Oracle: Oracle服务器端或桌面端可以创建本地的Oracle数据库,而Oracle客户端是用来远程连接其他服务器或电脑上的Oracle服务器端或桌面端的,安装客户端软件只需配置网络连接文 ...
- 两个Inline-block元素不对齐
可能是有一个元素用了overflow:hidden,(给另一个元素也加上) 也有可能是基线没对齐,用vertical-align:top可以
- java 编译 运行 及 引用外部 jar 包的方法
1. 环境变量配置 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_121; PATH%PATH%;C:\Java\jdk1.6.0_30\bin; CLASSPATH ...
- spring+springMVC,声明式事务失效,原因以及解决办法
http://blog.csdn.net/z69183787/article/details/37819627#comments 一.声明式事务配置: <bean id="transa ...
- OSX11.12安装任何来源的软件,在终端中输入
sudo spctl --master-disable
- golang xml parent node add attribute without struct
question: golang encoding/xml: foo>bar,attr - foo ignored solution: you can replace output resul ...
- day3 python学习
---恢复内容开始--- 运算 在Python中有很多种运算方法,我们在这里只是先说比较运算,逻辑运算,赋值运算,算数运算 在这里要记住 == 判断两个值是否相等 是比较运算符 >= 是否大 ...