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 ...
随机推荐
- Oracle数据库初级学习
第一天 SQL查询语句 CMD——SQLPLUS----账号 soctt 密码 tiger,输入完成后进入SQL数据库,如图显示即连接成功. 连接成功后 ,我们首先设置一下基本界面, --设置 每列显 ...
- sqlserver08评估期已过的解决方法
打开sqlserver出现提示:评估期已过.有关如何升级的测试版软件的信息,请访问http://www.microsoft.com/sql/howtobuy 解决方法如下: 第一步:进入开始菜单--- ...
- java.util.NoSuchElementException解决办法
报错代码 public void switchToNewWindow(){ //得到当前句柄 String currentWindow = driver.getWindowHandle(); //得到 ...
- UVA-11297 Census(线段树套线段树)
题目大意:二维空间点修改,询问矩形区域最值. 题目分析:还是比较简单的. 代码如下: # include<iostream> # include<cstdio> # inclu ...
- java实现定时任务的三种方法
/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: * @au ...
- Android学习四:数据库操作
1前言 android中使用SQLite作为数据库,在进行相关的开发的时候不需要导入包.SQLite起符合SQL标准,也有自己的一些特性,是一个轻量级的数据库. 2代码 简单的数据库类封装 packa ...
- SQL server数据缓存依赖
SQL server数据缓存依赖有两种实现模式,轮询模式,通知模式. 1 轮询模式实现步骤 此模式需要SQL SERVER 7.0/2000/2005版本以上版本都支持 主要包含以下几 ...
- 如何书写高质量的jQuery代码(转)
想必大家对于jQuery这个最流行的javascript类库都不陌 生,而且只要是前端开发人员肯定或多或少的使用或者接触过,在今天的这篇文章中,参考了一些资料及实际使用效率,将介绍一些书写高质量jQu ...
- Python decode与encode
字符串在Python内部的表示是unicode编码(8-bit string),因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicod ...
- 使用Apache Commons Configuration读取配置信息
在项目中使用一些比较新的库总会给你带来很多快乐,在这篇文章中,我将会给你介绍一个在Java中读取配置文件的框架——Apache Commons Configuration framework. 你会了 ...