Java反射得到属性的值和设置属性的值(转)
package com.whbs.bean; public class UserBean {
private Integer id;
private int age;
private String name;
private String address; public UserBean(){
System.out.println("实例化");
} public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
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;
} } 2 > 反射测试 package com.whbs.test; import java.lang.reflect.Field;
import java.lang.reflect.Method; import com.whbs.bean.UserBean; public class Test1 { public static void main(String[] args) throws Exception { /*
* 实列化类 方法1
*/
//String classPath = "com.whbs.bean.UserBean";
//Class cla = Test1.class.getClassLoader().loadClass(classPath);
//Object ob = cla.newInstance(); /*
* 实列化类 方法2
*/
UserBean bean = new UserBean();
bean.setId(100);
bean.setAddress("武汉"); //得到类对象
Class userCla = (Class) bean.getClass(); /*
* 得到类中的所有属性集合
*/
Field[] fs = userCla.getDeclaredFields();
for(int i = 0 ; i < fs.length; i++){
Field f = fs[i];
f.setAccessible(true); //设置些属性是可以访问的
Object val = f.get(bean);//得到此属性的值 System.out.println("name:"+f.getName()+"\t value = "+val); String type = f.getType().toString();//得到此属性的类型
if (type.endsWith("String")) {
System.out.println(f.getType()+"\t是String");
f.set(bean,"12") ; //给属性设值
}else if(type.endsWith("int") || type.endsWith("Integer")){
System.out.println(f.getType()+"\t是int");
f.set(bean,12) ; //给属性设值
}else{
System.out.println(f.getType()+"\t");
} } /*
* 得到类中的方法
*/
Method[] methods = userCla.getMethods();
for(int i = 0; i < methods.length; i++){
Method method = methods[i];
if(method.getName().startsWith("get")){
System.out.print("methodName:"+method.getName()+"\t");
System.out.println("value:"+method.invoke(bean));//得到get 方法的值
}
}
} }
Java反射得到属性的值和设置属性的值(转)的更多相关文章
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; priva ...
- 如何获取value值,获取属性值,设置属性值,
1.获取select下拉框的value值, 2.获取select 的tid值 3.设置属性值 4.判断哪个单选框选中了 prop好像是判断的意思吧,个人理解勿喷谢谢!!!!!!
- 单选框radio总结(获取值、设置默认选中值、样式)
单选框 radio <div class="radio-inline"> <input type="radio" name="kil ...
- Java反射得到属性的值和设置属性的值
package com.whbs.bean; public class UserBean { private Integer id; private int age; private String n ...
- C#反射获取属性值和设置属性值
/// /// 获取类中的属性值 /// public string GetModelValue(string FieldName, object obj) { try { Type Ts = obj ...
- java反射调用私有方法和修改私有属性
//调用私有方法package com.java.test; public class PrivateMethod { private String sayHello(String name) { r ...
- C#中跨线程读取控件值、设置控件值
编写应用程序时,涉及到大量数据处理.串口通信.Socket通信等都会用到多线程,多线程中如何跨线程调用主界面或其他界面下的控件是一个问题,利用invoke和delegate可以解决. delegate ...
- getAttribute:取得属性; setAttribute:设置属性。
input.setAttribute("title"); 当它是一个值,就是取值. input.setAttribute("title", "hell ...
- JQuery设置checkbox的值,取checkbox的值,设置radio的值,取radio的值,设置下拉选select的值,取select的值
一.复选框设置参数 html代码如下: <div class="flsm_btns"> <input type="hidden&q ...
随机推荐
- 开发经验之状态机思想,分别使用了swift,OC,C,PHP语言实现
这里设计一个简单的练习,使用状态机思想实现,分别使用了swift,OC,C,PHP语言实现 题目:1到10000遍历,开始-打印奇数-遇到7的倍数开始打印偶数--遇到10的倍数打印奇数 //部分结 ...
- CentOS 6.5设置静态IP教程 并且可以ping通
CentOS6.5掉电或重启,它的IP会被DHCP重新分配,如果要远程控制这台电脑,不得不去打开显示器去查看它的新IP,这样太麻烦了.于是需要将这台电脑的IP设置成静态的. 网上常规的设置静态ip的方 ...
- spring mvc 请求转发和重定向
spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...
- Spring触发器配置Quartz
参考文献:http://blog.csdn.net/liaq325/article/details/8269439 http://sundoctor.iteye.com/blog/441951 业务类 ...
- linux之ps命令
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- Oracle学习系列1-7
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
- [原创]cocos2d-x研习录-第二阶 概念类之布场层类(CCLayer)
上面说场景CCScene相当于一个大容器,那么布景层类CCLayer就是大容器里的若干个小容器.每个游戏场景CCScene会有很多层CCLayer,每一层CCLayer负责各自的任务.看一下CCLay ...
- Oracle 学习之路开始
今年刚毕业,从毕业到现在工作正式工作四个多月了(实习的几个月就不算了).工作之中遇到的困难不少,学到的东西也不少:但是感觉学到的东西还是不够,毕竟java水很深啊. 现在工作中并不是每天都能学到新的东 ...
- dubbo 转
http://blog.csdn.net/zhiguozhu/article/details/50517513 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式 ...
- python数据分析之pandas库的DataFrame应用一
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔型).DateFrame既有行索引也有列索引,可以被看作为由Series组成的字典. 构建Dat ...