有没有人知道是否有一个Clojure相当于Pythons"dir".基本上我需要知道我可以调用某些东西或更具体的java对象的函数我想知道可用的方法和属性(我不确定在java中它们被称为方法和属性,这是C#lingo).
我目前正在使用用Java实现的专门的,解释性的编程语言.作为该语言的一小部分,我想添加调用Java的能力.在深入研究反射的所有细节之前,我想知道是否有人知道一个通用库来执行反向调用Java代码的"后端"部分.
也就是说,我将一个字符串(我定义语法)解析为一些表示Java方法调用(或构造函数或字段访问)的数据结构,然后将该数据结构传递给调用该调用并返回结果的库.特别是,我希望它已经处理了我不想弄清楚的所有边缘情况:
我花了一点时间在JVM上查看动态语言的实现,但这些通常比我正在寻找的要复杂得多,或者针对特定语言进行了高度优化.
另一个选择是将我的语法转换为某种动态语言的字符串,并使用Rhino或其他东西调用它,但这比我正在寻找的开销稍微多一些.
谢谢!
在通过在线课程学习java时,我遇到了使用帮助程序类的类型转换.例如:
double d = 5.99;
double do = new Double(d);
int i = do.intvalue();
Run Code Online (Sandbox Code Playgroud)
然而,他们没有解释我如何找到方法,do.intvalue()如果我不知道现有的方法.在Python中,我可以做一个dir(do),它会列出所有方法.如何在Java中检查相同的内容?