草庐IT

Reflection

全部标签

java - 通过反射将所有值从一个类中的字段复制到另一个

我的类(class)基本上是另一个类(class)的副本。publicclassA{inta;Stringb;}publicclassCopyA{inta;Stringb;}我正在做的是将A类中的值放入CopyA中,然后通过Web服务调用发送CopyA。现在我想创建一个反射方法,它基本上将所有相同的字段(按名称和类型)从类A复制到类CopyA。我该怎么做?这是我目前所拥有的,但它并不完全有效。我认为这里的问题是我试图在我正在循环的字段上设置一个字段。privatevoidcopyFields(Tfrom,Ytoo){ClassfromClass=from.getClass();Fiel

reflection - Kotlin,如何通过反射检索字段值

所以我在几个classes中有数百个字段我想在它们上编写一些方法,它们会自动println每个字段及其对应的值目前我有这个:innerclassVersion(valprofile:Profile){@JvmFieldvalMINOR_VERSION=glGetInteger(GL_MINOR_VERSION)funwrite(file:File?=null){//file.printWriter().use{out->out.pri}this::class.java.fields.forEach{println(it.isAccessible)println(it.getInt(it

java - 如何让 Spring 接受流畅(非 void)的 setter ?

我有一个API,我正在将其转换为内部DSL。因此,我的PoJos中的大多数方法都会返回对this的引用,这样我就可以声明式地将方法链接在一起(语法糖)。myComponent.setID("MyId").setProperty("One").setProperty2("Two").setAssociation(anotherComponent).execute();我的API不依赖于Spring,但我希望通过对零参数构造函数、getter和setter的PoJo友好来使其成为“Spring-Friendly”。问题是当我有一个非void返回类型时,Spring似乎没有检测到我的sett

java - 如何让 Spring 接受流畅(非 void)的 setter ?

我有一个API,我正在将其转换为内部DSL。因此,我的PoJos中的大多数方法都会返回对this的引用,这样我就可以声明式地将方法链接在一起(语法糖)。myComponent.setID("MyId").setProperty("One").setProperty2("Two").setAssociation(anotherComponent).execute();我的API不依赖于Spring,但我希望通过对零参数构造函数、getter和setter的PoJo友好来使其成为“Spring-Friendly”。问题是当我有一个非void返回类型时,Spring似乎没有检测到我的sett

Java中的Reflection(反射)、暴力反射

文章目录1.反射(Reflection)的概念1.1反射的出现背景1.2反射概述1.3Java反射机制研究及应用1.4反射相关的主要API1.5反射的优缺点2.Class类并获取Class实例2.1理解Class2.1.1理论上2.1.2内存结构上2.2获取Class类的实例(四种方法)2.3哪些类型可以有Class对象2.4Class类的常用方法1.反射(Reflection)的概念1.1反射的出现背景Java程序中,所有的对象都有两种类型:编译时类型和运行时类型,而很多时候对象的编译时类型和运行时类型不一致。例如:Objectobj=newString("hello");obj.getCl

C# Reflection - 如何为结构设置字段值

如何使用DynamicMethod通过反射将值设置到结构字段-myStruct.myField中?当我调用setter(myStruct,111)时,值没有设置,因为MyStruct是值类型。Console.WriteLine(myStruct.myField)显示值3。如何修改GetDelegate方法将值赋给myStruct.myField?publicstructMyStruct{publicintmyField;}publicdelegatevoidSetHandler(objectsource,objectvalue);privatestaticSetHandlerGetDe

reflection - Hadoop 如何决定在 MapTask 类中运行哪个映射器,OldMapper 还是 NewMapper?

我无法理解MapTask类中的runOldMapper(...)和runNewMapper(...)方法之间的区别。Hadoop根据JobConf中的"useNewApi"参数决定;但是在框架中何时何地设置了这个参数?我认为所有工作的默认值都是FALSE。我们可以通过调用设置"mapred.mapper.new-api"的JobConf.setUseNewMapper(booleanflag)将值设置为TRUE,但是何时以及为什么我们应该决定设置这个参数? 最佳答案 您假设此行为是由mapred.mapper.new-api配置触发

PHP: The Reflection API - 对 PHP 的很好的补充,但很少使用

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion反射API是操纵OOP东西的好东西,看起来大多数开发人员甚至都不知道或从未使用过它。反射API声明:PHP5comeswithacompletereflectionAPIthataddstheabilitytoreverse-engineerclasses,interfaces,functions,methodsandextensions.Additionally,thereflectionAPIoffe

Java/安卓/ Kotlin : Reflection on private Field and call public methods on it

是否可以使用反射来访问对象的私有(private)字段并在该字段上调用公共(public)方法?一个classHello{privateWorldword}classWorld{publicBlaBlaBlafoo()}Helloh=newHello()Worldworld=reflectontheh//Andthenworld.foo() 最佳答案 可以使用反射使私有(private)字段可访问。以下示例(均用Kotlin编写)展示了它...使用Java反射:valhello=Hello()valf=hello::class.ja

Java Reflection - 获取类的所有实例变量名

我正在编写一个Android应用程序,它需要将JSON对象绑定(bind)到域实体中,并将​​JSON中的键作为实例变量。由于有多个域实体,每个域实体都有不同的实例变量,JSON需要在应用程序中绑定(bind)到这些实例变量,因此我想编写一个如下所示的方法:遍历域中的所有实例变量如果JSON中存在与实例变量同名的键,则从JSON中获取该键的值,并将具有该键名的域的实例变量设置为等于该值。我对从类到JSON的绑定(bind)感兴趣的原因是,如果JSON由于某种原因发生变化,我不希望它在实例变量不存在时破坏应用程序特定JSONkey的应用域。在此先感谢您的帮助!