1 > bean
对象
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基于反射获取对象属性值的相关实现方法与操作技巧,需要的朋友可以参考下
#通过反射获取对象属性值并设置属性值 0、定义一个类 public class User { public int Id { get; set; } public string Name { get; set; } public string Age { get; set; } } 1、通过属性名(字符串)获取...
对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): 代码如下: Type t = tc.GetType();//获得该类的Type //再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了 foreach ...
java反射,获取所有属性、方法以及List集合类
使用Emit,反射,Expression表达式设置和获取实例对象属性的值
主要介绍了Java利用反射获取object的属性和值代码示例,具有一定借鉴价值,需要的朋友可以参考下。
该篇文章主要介绍当我们碰到参数或者返回值是一个对象时,如何通过frida反射调用该对象的方法(methods)与获取该对象的字段(fields)。感兴趣的朋友可以下载下来看看,了解了解
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
反射,简单来说,是一种在运行时动态地访问对象属性和方法的方式,而不需要事先确定这些属性是什么。下面这篇文章主要给大家介绍了关于Kotlin中反射机制的相关资料,需要的朋友可以参考下
主要介绍了Java反射通过Getter方法获取对象VO的属性值过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
今天查看yii源码,发现yii\base\Model中的attribute()方法是通过反射获取对象的public non-static属性。记得以前看到的代码都是用get_object_vars()这个函数获取的,昨天查看php文档,发现还可以用foreach遍历对象...
(类的加载概述和加载时机) (类加载器的概述和分类) (获取class文件对象的三种方式) ...(通过反射写一个通用的设置某个对象的某个属性为指定的值) (通过用户的增删改查和学生的登录注册引出中介) (动态代理的概述和实现)
下面小编就为大家带来一篇java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java反射,设置属性值,获得属性,具有多个对象同事设置,缓存的处理,
Java基本的反射方法
最近有遇到两个类之间的赋值问题,两个类的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个类的属性的值赋值给另一个类。 框架是.net 4.5 public static D Mapper(S s) { D d = Activator...
循环 要修改的 实体对象,并根据 要修改的属性名 修改对象对应的属性值 foreach (var item in list) { //循环 要修改的属性 名称, 并 反射取出 t 中的 属性对象 for (int index = 0; index ;index++ ) { //...
操作字段:通过反射可以获取和设置对象的字段值,包括公有字段、私有字段等。 动态代理:通过反射可以创建动态代理对象,用于实现特定的代理逻辑。 框架和工具:在很多框架和工具中,如Spring框架、JUnit测试框架...