所以我最近一直在搞乱Reflection API,而且在这里和那里搞砸似乎很酷但是究竟是什么用它?
你知道,获取字段/方法名称和返回类型以及设置可访问性和诸如此类的东西都很有趣,但如果你能用你的文件读取java文件/类,这个[反射]怎么可能有用呢?自己的眼睛?
也许我真的无知或者我不理解这个反思的全部概念,但是你可以向我解释一下这会有什么帮助吗?
答案 0 :(得分:4)
有时您希望拥有一个可以处理任何数据类型的库而无需读取类文件。
e.g。序列化,数据库连接框架,依赖注入框架,使用注释的框架。
答案 1 :(得分:0)
我用它从我无权更改的对象生成键和值。
因此,如果你有一个庞大的代码库,并且一个团队“拥有”你需要使用的一个类,但它确实是一成不变的。也就是说,没有进一步的更改,你真的需要将它转换为你自己的格式,而不是手动执行,这很烦人,所以你可以做的是获取字段名称及其值,并根据你的规则把它放在你的自己的对象。
答案 2 :(得分:0)
反射与泛型一起使用。这样,一段代码就可以处理多种类型的对象。
当您不一定有权访问java文件但想要了解某些特定信息时,通常也会在故障排除工作中使用它。