反射的用途是什么?(例如Java反射API)

反射的用途是什么?(例如Java反射API),java,reflection,Java,Reflection,可能重复: 所以我最近一直在搞乱反射API,到处乱搞似乎很酷,但它到底有什么用呢 你看,获取字段/方法名和返回类型、设置可访问性等等都很有趣,但是如果你能用自己的眼睛阅读java文件/类,这个[reflection]怎么可能有用呢 也许我真的很无知,或者我不理解这个反射的全部概念,但是你能解释一下这对我有什么帮助吗 我用它从一个我无权更改的对象生成键和值 所以,如果你有一个庞大的代码库,并且一个团队“拥有”一个你需要使用的类,但它实际上是一成不变的。也就是说,没有进一步的更改,您确实需要将其转

可能重复:

所以我最近一直在搞乱反射API,到处乱搞似乎很酷,但它到底有什么用呢

你看,获取字段/方法名和返回类型、设置可访问性等等都很有趣,但是如果你能用自己的眼睛阅读java文件/类,这个[reflection]怎么可能有用呢


也许我真的很无知,或者我不理解这个反射的全部概念,但是你能解释一下这对我有什么帮助吗

我用它从一个我无权更改的对象生成键和值


所以,如果你有一个庞大的代码库,并且一个团队“拥有”一个你需要使用的类,但它实际上是一成不变的。也就是说,没有进一步的更改,您确实需要将其转换为您自己的格式,而只需要手动执行,这很烦人,因此您可以做的是获取字段名称及其值,并根据您的规则将其放入您自己的对象中。

我使用它从我无权更改的对象生成键和值


所以,如果你有一个庞大的代码库,并且一个团队“拥有”一个你需要使用的类,但它实际上是一成不变的。也就是说,没有进一步的更改,你真的需要将其转换为你自己的格式,而不是手动操作,这很烦人,因此,您可以获取字段名称及其值,并根据您的规则将其放入您自己的对象中。

有时您希望有一个库,它可以处理任何数据类型,而无需读取类文件


e、 g.序列化、数据库连接框架、依赖项注入框架、使用注释的框架。

有时,您希望有一个库,可以处理任何数据类型,而无需读取类文件


e、 序列化、数据库连接框架、依赖注入框架、使用注释的框架。

反射与泛型一起使用。这样,一段代码就可以处理多种类型的对象


当您不一定有权访问java文件,但希望了解有关该文件的特定信息时,也可以使用它,通常是在进行故障排除时使用。

反射用于泛型。这样,一段代码就可以处理多种类型的对象


当您不一定有权访问java文件,但希望了解有关它的特定信息时,也可以使用它,通常是在故障排除工作中。

想象一个序列化框架,它接受一个“POJO”并将其转换为JSON或XML。(这些是存在的)。即使传入
对象
,也可以通过“戳来戳去”来动态确定结构(有注释或没有注释):简而言之,它用于以自动方式进行操作,而不必考虑特定的编译时类型。想象一下,一个序列化框架采用“POJO”并将其转换为JSON或XML。(这些是存在的)。即使传入
对象
,也可以通过“戳来戳去”来动态确定结构(带注释或不带注释):简而言之,它用于以自动方式进行操作,而不必考虑特定的编译时类型。这实际上比我想象的更有用。谢谢,伙计。这比我想象的要有用得多。谢谢你,伙计。