java - 使用 Java 反射是不好的做法吗?

标签 java design-patterns reflection design-principles

我正在为客户构建一个应用程序,我需要能够通过字符串引用字段值,即用户使用字符串来定义他们想要更改哪个字段的值,这是抽象框架的一部分,所以从技术上讲,我不知道他们想要更改的字段的名称。当然,我可以使用散列映射来做到这一点,但我正在考虑使用 java 反射,因为这允许字段保留为对象的字段,而不是将值编码到散列映射中。我在自己的个人工作中使用了反射,但我想知道使用 Java 反射是否实际上是一种不好的做法,我应该坚持 hashmap 方法。

(对于解决所描述的设计问题的任何其他建议也表示赞赏)

谢谢

最佳答案

问题本身是基于意见的,尽管我相信大多数人会同意您不能只说“反射(reflection)不好”。有时它是唯一的方法,这就是为什么很多库使用反射的原因。有时这不是唯一的方法,但解决方法会更糟。有时这不是唯一的方法,也不是最简单的方法,但开发人员对反射(reflection)的力量惊叹不已,无法直接思考。

除了最后一个,还有很多正当理由将反射视为一种解决方案。

关于java - 使用 Java 反射是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36644349/

相关文章:

c# - 将反射与 COM Interop 结合使用

java - 使用集合中的结果反转 Map

design-patterns - MVP(模型 View 展示器)或 MVC( Model View Controller )

c# - 领域驱动设计中实体和聚合的区别

java - Java 中的抽象类与接口(interface)

java - 静态内部类上的 ClassNotFoundException

java - Android EditText 符号必须保持在初始位置

java - NetBeans 配置文件菜单丢失

java - Android 与 maven ? Apk 未知

java - 无法在测试中反射性地更改 Spring Controller 内的字段