java中有getattr、callable等元编程函数吗?

发布于 2024-10-25 09:07:29 字数 84 浏览 2 评论 0原文

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

I'm looking for some metaprogramming functions in Java analogous to Python's getattr, hasattr, callable etc. If not, is there any good external library for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

相思碎 2024-11-01 09:07:29

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

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

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

As Eduardo commented, you can use reflection. Here's Sun's (Oracle, now) article about it:

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

That should get you heading in the right direction.

余生一个溪 2024-11-01 09:07:29

JavaBean 规范也涉足这一领域。

参见 java.beans.BeanInfo

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

Also the JavaBean spec sort of dabbles in this area.

see java.beans.BeanInfo

Also there are libraries such as commons-beanutils that is built on reflection that tries to be more meta-handling-like.

未蓝澄海的烟 2024-11-01 09:07:29

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

Some of the best "libraries" for metaprogramming take the form of alternative languages that run on the JVM; for example, the Groovy language is a slightly simplified Java with better metaprogramming support (among other features).

初见你 2024-11-01 09:07:29

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

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

Besides reflection, you may be interested in AOP (e.g., via AspectJ) which allows pre- and/or post-processing of method calls, transformations, interceptions, etc. of various Java execution sequences.

There's no way to intercept calls to methods that don't exist, because such code cannot be compiled.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文