- 浏览: 142890 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
ling凌yue月:
Yes,it's good!
JavaScript实现ReplaceAll 方法 -
lj1214388:
请问楼主,我导入了struts-jquery-plugin 的 ...
Jquery Ui 日期控件
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestReflection {
public static void main(String[] args){
User user = new User();
user.setUserName("ZhangSan");
user.setPassword("123456");
try {
printObject( user );
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
public static void printObject(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
Field[] fields = obj.getClass().getDeclaredFields();
for(int i= 0; i<fields.length; i++){
Field f = fields[i];
String fieldName = f.getName();
String stringLetter = fieldName.substring(0, 1).toUpperCase();
String getName="get"+stringLetter+fieldName.substring(1);
Class classType=obj.getClass();
//获取相应的方法
Method getMethod=classType.getMethod(getName, new Class[]{});
//调用源对象的getXXX()方法
Object value=getMethod.invoke(obj, new Object[]{});
System.out.println(fieldName+": "+value);
}
}
}
class User{
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestReflection {
public static void main(String[] args){
User user = new User();
user.setUserName("ZhangSan");
user.setPassword("123456");
try {
printObject( user );
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
public static void printObject(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
Field[] fields = obj.getClass().getDeclaredFields();
for(int i= 0; i<fields.length; i++){
Field f = fields[i];
String fieldName = f.getName();
String stringLetter = fieldName.substring(0, 1).toUpperCase();
String getName="get"+stringLetter+fieldName.substring(1);
Class classType=obj.getClass();
//获取相应的方法
Method getMethod=classType.getMethod(getName, new Class[]{});
//调用源对象的getXXX()方法
Object value=getMethod.invoke(obj, new Object[]{});
System.out.println(fieldName+": "+value);
}
}
}
class User{
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
发表评论
-
Goole 地图 根据经纬度获取地址
2012-12-10 22:40 829package com.jueyue; import jav ... -
百度地图根据地址获取经纬度
2012-12-10 21:31 8436package com.jueyue; import jav ... -
Java对象的序列化和反序列化实践
2012-12-10 19:52 648当两个进程在进行 ... -
HttpClient 实现访问 HTTPS
2012-11-08 11:24 0避免HttpClient的”javax.net.ssl.SSL ... -
实现一个线程池
2012-05-17 22:40 799public class SjgxrwStartQuest e ... -
通过 HttpClient 下载 文件
2011-10-27 13:49 1009需要有的Jar; * commons-httpclie ... -
Java 文件拷贝
2011-10-26 18:26 783public static void saveFiles(S ... -
生成jar文件的方法
2011-10-13 01:20 716JAR --Java Archive File,顾 ... -
文件下载
2011-08-30 13:58 712public ModelAndView downloadFil ... -
根据Map 动态生成一个类 动态打印
2011-07-15 23:28 909import java.lang.reflect.Field; ... -
Java实现类排序
2011-07-12 16:07 898用Java实现类排序 如下步骤: 1 待排序的类实现 ... -
web service(axis)例子HelloService步骤说明
2011-07-12 11:36 9601.将axis1.1目录下webapps下的axis包拷贝到t ... -
解决一台机器同时运行多个Tomcat服务
2011-07-12 10:07 882如果不加任何修改,在一台服务器上同时运行两个Tomcat服务显 ... -
Java 解析 Word Word 中的表格
2011-07-04 22:15 4376import java.io.File; import ... -
Java 解析 PDF, pdfbox读取PDF内容
2011-07-04 20:59 6362import java.io.ByteArrayOutputS ... -
Java 页面表格导出Word
2011-06-21 10:28 1767StringBuffer sb = new StringBuf ... -
Java 页面表格导出Word
2011-06-21 10:25 1325StringBuffer sb = new StringBuf ... -
利用lucene对整个数据库建立索引(lucene,SQL,JDBC)(
2011-06-16 23:38 1066导言: 如果要对整个数据库做精确查询或模糊查询,我们怎么才可 ... -
Java Mail 收发邮件
2011-06-15 22:24 856import javax.mail.Address;impor ... -
Java对象序列化
2011-03-09 22:47 722被序列化的类要implements Serializab ...
相关推荐
### 反射实例—JAVA反射机制 #### 一、反射概念及原理 反射在计算机科学领域,特别是程序设计中,是指程序有能力访问、检测和修改其自身的结构和行为。这一概念最早由Smith于1982年提出,并迅速应用于各种编程语言...
### Java反射机制详解 #### 一、反射的基本概念与历史背景 反射的概念最早由Smith在1982年提出,其核心思想是程序有能力访问、检测甚至修改自身的状态和行为。这种能力一经提出,迅速成为了计算机科学领域的研究...
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。...
Java 反射机制的实现主要靠 Java.lang.reflect 包中的类,包括 Class 类、Field 类、Method 类、Constructor 类和 Array 类。这些类提供了获取类的信息、构造对象、判断成员变量和方法、调用方法等功能。 在 Java ...
### Java的反射机制及其实际应用 #### 一、引言 ...总之,Java反射机制是一项强大的工具,它能够在运行时动态地获取和操作类的信息。然而,应该谨慎使用反射,避免滥用造成不必要的性能损失或安全风险。
Java反射机制允许运行中的程序检查自身,并能直接操作程序的内部属性。这是其他许多编程语言(如Pascal、C或C++)不具备的能力。 **1.1 Reflection的工作机制** 为了展示反射如何工作,我们来看一个简单的例子: ...
Java反射机制可以获取类、方法或字段的修饰符信息。使用`Field`、`Method`或`Constructor`对象的`getModifiers()`方法获取整型修饰符,然后通过`Modifier`类的静态方法`toString()`将整型修饰符转换为字符串形式,...
### Java反射机制简介 #### 一、什么是Java反射机制? Java反射机制是Java语言提供的一种在运行时访问类和对象信息的能力。通过反射,我们可以在程序运行时动态地获取类的信息(如类名、方法、构造函数等)并操作...
### JAVA反射机制详解 #### 一、JAVA反射机制概述 **反射**是在1982年由Smith首次提出的概念,指的是程序有能力访问、检测并修改其自身的状态或行为。这一概念一经提出,便迅速引起了计算机科学领域的关注,并在多...
Java反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地访问和修改类的行为。这种机制的核心在于能够获取类的元数据信息,并基于这些信息实例化对象、调用方法、访问和修改字段的值,从而实现高度的...
Java反射机制是在运行时动态获取类的信息,并且能够调用对象方法的一种强大的功能。通过Java反射机制,可以在运行时完成以下任务: - 判断任意一个对象所属的类; - 构造任意一个类的对象; - 获取任意一个类所具有...
Java反射机制主要是通过以下几个核心类来实现的,这些类都位于`java.lang.reflect`包中: 1. **`Class`类**:表示一个类,是反射机制的基础。通过它可以获取类的各种信息,如类名、超类、接口、字段、方法等。 2. *...
Java反射机制是Java语言提供的一种能在运行时分析和操作类、对象、方法等的能力。它使得开发人员可以在程序运行过程中动态地获取类的信息(例如类名、字段、方法等),并且能够动态地创建和操作对象。这种能力为Java...
### Java反射机制实现JavaBean转JSON的详细解析 #### 一、引言 在现代软件开发过程中,数据格式转换是一项非常常见的任务。特别是在处理不同系统之间的数据交换时,JSON(JavaScript Object Notation)因其轻量级...
Java反射机制是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、接口、对象等的内部信息,包括但不限于类名、方法名、构造器、字段以及它们的元数据。这个机制的核心在于Java.lang.Class类和java....