Java:反射(在运行时)与镜像(在注释处理中)

jav*_*top 7 java reflection types mirroring annotation-processing

我理解概念之间的一般差异

  • 反射(在运行时使用Class, Method, Field, Annotation, ...),和
  • 镜像(在注释处理期间使用TypeMirror, TypeElement, ...).

但有人可以请深入比较这两个概念(或指向一个资源,它在哪里完成)?

例如,哪个概念提供了另一个不提供的信息......

谢谢.

Mic*_*rdt 5

  • 反射类用于表示正在运行的 JVM 中的对象类。反射是一个非常古老的概念,从一开始就存在于 Java 中。因此,它在某些领域有点笨拙,已经被扩展以适应新的语言结构(尤其是泛型)。
  • 中的类javax.lang.model用于处理Java 源代码。它们是在泛型已经存在时设计的,并且可以(并且必须)更广泛地支持它们,因为它们是在类型擦除发生之前使用的。

  • @java.is.for.desktop:对象的类型参数被删除,但字段、方法和类定义中的类型参数不会。 (2认同)