4

我正在寻找一些类似于 Python 的 getattr、hasattr、callable 等的 Java 元编程函数。如果没有,是否有任何好的外部库呢?

4

4 回答 4

1

正如 Eduardo 评论的那样,您可以使用反射。这是 Sun(现在是 Oracle)关于它的文章:

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

这应该让你朝着正确的方向前进。

于 2011-03-19T18:41:23.160 回答
1

JavaBean 规范也涉足该领域。

见 java.beans.BeanInfo

还有一些库,例如 commons-beanutils,它建立在反射之上,试图更像元处理。

于 2011-03-19T19:34:39.863 回答
1

一些用于元编程的最佳“库”采用在 JVM 上运行的替代语言的形式;例如,Groovy 语言是一种略微简化的 Java,具有更好的元编程支持(以及其他特性)。

于 2011-03-19T20:09:28.840 回答
0

除了反射之外,您可能对 AOP(例如,通过AspectJ)感兴趣,它允许对各种 Java 执行序列的方法调用、转换、拦截等进行预处理和/或后处理。

无法拦截对不存在的方法的调用,因为无法编译此类代码。

于 2012-08-23T12:32:04.610 回答