反射给没有set方法的属性赋值

public class Test {
private String readOnly;
public String getReadOnly() {
    return readOnly;
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    Test t = new Test();
    Field f = t.getClass().getDeclaredField("readOnly");
    f.setAccessible(true);
    f.set(t, "test");
    System.out.println(t.getReadOnly());
}
}

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1696222

时间: 2016-08-28

反射给没有set方法的属性赋值的相关文章

一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo

在<一句代码实现批量数据绑定>中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定.由于里面频繁涉及对属性的反射--通过反射从实体对象中获取某个属性值:通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式.为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作.如果你看了我在文中给出的三种属性操作性能的测试结果,相信会对PropertyAccessor的作用有深刻的印象.[源代码从这里下载] 目录: 一.Prop

晚绑定场景下对象属性赋值和取值可以不需要Pro“.NET技术”pertyInfo

在<一句代码实现批量数据绑定>中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定.由于里面频繁涉及对属性的反射--通过反射从实体对象中获取某个属性值:通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式.为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作.如果你看了我在文中给出的三种属性操作性能的测试结果,相信会对PropertyAccessor的作用有深刻的印象.[源代码从这里下载] 目录: 一.Prop

java方面:private属性,没有set方法,只有get方法,如何给这个属性赋值?

问题描述 java方面:private属性,没有set方法,只有get方法,如何给这个属性赋值? 如题: public class Foo { private String readwrite; // with getter and setter private String readonly; // with getter public String getReadwrite() { return readwrite; } public void setReadwrite(String rea

Jquery attr()方法 属性赋值和属性获取详解_jquery

jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1.  attr( 属性名 )        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2.  attr( 属性名, 属性值 )    //设置属性的值 (为所有匹配的元素设置一个属性值.) 3.  att

C#集合对象的属性赋值

(一)前言 继<对象属性之间的相互赋值 >后,关于集合对象属性的赋值,主要可以通过循环遍历集合中的对象来进行属性间的赋值.这些可以运用于不同对象之间.相关属性类似的情况.最常见的是web services与silverlight之间的对象赋值(对象之间的属性值只有一部分是需要的),这样可以减少silverlight对web services的依赖. (二)具体实现 通过反射将源对象与目标对象之间的属性赋值.源对象的属性名.属性类型必须与目标对象的属性名.属性类型一致,并且源对象的属性必须是可读

Groovy探索之MOP 七 运行期内的方法和属性分析

在Groovy语言里,运行期内的方法和属性分析有三种方式,它们分别是: 第一, 继承自Java语言的反射方式. 第二, 使用"respondsTo"和"hasProperty"方法. 第三, 使用"hasMetaMethod"和"hasMetaProperty"方法. 以上三种方法都能在运行期内分析某个方法或属性是否存在,相信我们看到这里,一定会想,它们之间是否有什么区别呢? 漫谈这三种运行期内的方法和属性分析方式以及它们之间

JS 操作Array数组的方法及属性实例

 本篇文章主要是对JS操作Array数组的方法及属性进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 本文总结了Array数组的3个属性,length 属性.prototype 属性.constructor 属性使用,并附注数组对象的8个分类及多个方法使用,具体如下:   对象的3个属性 1.length 属性   length 属性 Length属性表示数组的长度,即其中元素的个数.因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1.和其他大多数不同的是

比较一下以“反射”和“表达式”执行方法的性能差异

由于频繁地使用反射会影响性能,所以ASP.NET MVC采用了表达式树的方式来执行目标Action方法.具体来说,ASP.NET MVC会构建一个表达式来体现针对目标Action方法的执行,并且将该表达式编译成可执行代码.编译后的可执行代码体现为一个委托对象,该委托对象会被缓存起来以用于针对同一个Action方法的执行.为了让大家能够和直观地理解两种(直接利用反射和利用表达式编译后的委托对象)方法执行在性能上的差异,我们来做一个简单的实例演示.我们在一个控制台应用中定义了如下一个Foobar类型

spring-Spring注解怎么给属性赋值

问题描述 Spring注解怎么给属性赋值 现在有一个类. public class PoeticJuggler{ private int beanBags; private Poem poem; } 利用注解生成bean的话,怎么给beanBags赋值 解决方案 在beanBags的set方法上面用@Value注解注入属性 解决方案二: spring 集合属性赋值Spring @Required 注解检查属性Spring @Required 注解检查属性 解决方案三: 你应该通过另外一个配置类