Java反射方法赋值,java反射挟制赋值
当前位置:我的异常网» 编程 » java反射挟制赋值
java反射挟制赋值
www.myexceptions.net 网友分享于:2014-07-17 浏览:0次
java反射强制赋值
package com.my.reflect;
import java.lang.reflect.Field;
/**
* 反射赋值
* @author mengyao
*
*/
public class ReflectSet {
/**
* 用于对类的字段赋值,无视private,project修饰符,无视set/get方法
* @param c 要反射的类
* @param args 类的字段名和值 每个字段名和值用英文逗号隔开
* @return
*/
public static Object getInstance(Class> caz, String... args) {
try {
//装载指定类后创建类对象
Object object = Class.forName(caz.getName()).newInstance();
//通过实例对象取得用取得在内存中该实际类型class对象的引用
Class> obj = object.getClass();
Field[] fields = obj.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
fields[i].setAccessible(true);
for (int j = 0; j < args.length; j++) {
String str = args[j];
String strs[] = str.split(",");
if (strs[0].equals(fields[i].getName())) {
fields[i].set(object, strs[1]);
break;
}
}
}
return object;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
Object object=getInstance(SendInfo.class,"destID,01201101","mobile,15810022404","content,测试数据。");
SendInfo sms=(SendInfo)object;
System.out.println("短信内容:"+sms.getContent());
System.out.println("手机号码:"+sms.getMobile());
System.out.println("尾号:"+sms.getDestID());
//String.class==new String().getClass()结果为true,
//String.class是通过类名的引用取得在内存中该类型class对象的引用;new String().getClass()是通过实例对象取得用取得在内存中该实际类型class对象的引用
System.out.println(String.class==new String().getClass());
}
}
class SendInfo {
private String destID;
private String mobile;
private String content;
public SendInfo() {
}
public SendInfo(String destID, String mobile, String content) {
this.destID = destID;
this.mobile = mobile;
this.content = content;
}
public String getDestID() {
return destID;
}
public void setDestID(String destID) {
this.destID = destID;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
文章评论
Java反射方法赋值,java反射挟制赋值相关推荐
- java反射方法调用_Java反射(3)调用方法
目录: 1.访问方法(Method)对象的方法汇总 2.获取方法(Method)对象中的值 3.设置方法(Method)对象中的值 1.访问Method的方法汇总 以下四种方法在Class类可以返回关 ...
- 反射java调用方法_java 使用反射调用方法
每个Method的对象对应一个具体的底层方法.获得Method对象后,程序可以使用Method里面的invoke方法来执行该底层方法. Object invoke(Object obj,Object ...
- java virtual 方法_JVM(Java Virtual Machine)
Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码.而引入Java语言虚拟机后,Java ...
- java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园
很多IOC等框架都使用反射来实现,例如Spring, Hibernate等, Java反射的方式实现的逻辑比普通类逻辑的效率是要差一些的(14至300倍左右), 具体可以参考我转载的一篇文章< ...
- JAVA toString方法详解
JAVA toString方法 在Java中,我们经常会编写许多自定义类.在使用时,我们如何打印出这些类中实例变量? class value {private int s;public void se ...
- NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)
NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM 题目有点复杂,不过确实就是那么回事.这章想记录的内容比较多,先列出来: native static 与 nat ...
- 万字长文分享,新手小白如何自学Java(方法+步骤)
我准备从思想方法和具体的学习步骤上给大家聊一下我的做法,希望对大家有所帮助! 看完本篇文章你会得到如下收获: 学习Java的方法 学习Java的具体步骤 大学四年如何高质量度过 如何把我大学时光自学编 ...
- 万字长文分享,如何自学Java(方法+步骤)
目录 收起 大家存在的问题 为什么我觉得方法很重要? 五个步骤学习Java 第一阶段:揽全局 「怎么办?你需要的是系统化学习!」 教程式笔记 我的大学 我准备从思想方法和具体的学习步骤上给大家聊一 ...
- java反射对象赋值_Java反射详解
反射(Reflection)能够让运行于 JVM 中的程序检测和修改运行时的行为. Class类提供了以下方法 四个public方法,用于获取某个类的构造方法: Constructor getCons ...
最新文章
- cass坡度土方计算案例_南方CASS方格网土方计算心得
- SAP MM 公司间STO的BILLING输出报错 - Inbound partner profile does not exist –
- 特使招募-航天三院-智能车竞赛
- oracle 11g ocp 笔记(15)--使用rman进行备份
- 每日一题(14)—— 交换a,b的值(不使用中间变量)
- 【Elasticsearch】Elasticsearch 动态模板(Dynamic templates)
- 如何用 Python 快速抓取 Google 搜索?
- linux虚拟内存和win,linux下的vm(虚拟内存)和windows下的作用是一样的,均是防止真实内存资源不足准备的. linux的vm相关参数...
- wap精武堂源码php_仿qq家园游戏源码wap文字游戏源码wap游戏源码
- JAVA王思聪吃热狗程序_王思聪吃热狗小游戏, 程序员开发路上
- Unity-UI控件在不同设备等比例缩放显示
- 加州大学洛杉矶分校计算机硕士学费,美国加州大学洛杉矶分校计算机科学硕士.pdf...
- axture工具栏使用
- Javascript前端模块化
- 青春不散场,CSDN毕业季有奖征文开启啦~~
- 企业购买团体商业保险有助提升公司形象
- 万字长文简单明了的介绍xxl-job以及quartz
- Spring Boot自动装配过程解析及简单Demo演示
- 惠普暗夜精灵2怎么打开后盖_惠普光影精灵3后盖拆解图 | 手游网游页游攻略大全...
- ERP与MES管理系统一体化,解决家具企业生产痛点
热门文章
- python day 14
- 江开计算机考试,江苏开放大学计算机应用基础形考第二次作业答案
- linux 批量telnet 脚本,shell脚本-批量telnet
- Nutanix推出超融合软件创新功能,强化市场领导地位
- QT实现网络编程---客户端、服务端
- 如何使用计算机搜索功能,如何使用Win7搜索功能快速找到文件?
- JAVA:Jar包下载
- magicbox linux教程,天猫魔盒安装原生linux的一些初步成果
- 二叉树遍历完整版整理(含层次与递归非递归实现)
- 纯批处理代码一键唤醒或关闭任意电脑的批处理(自动识别开机状态并自动切换对目标电脑开机或关机模式)