用于分析Java源代码的API
我正在设计一个模块来分析Java源代码并获得其结构。 例如:如果有一个名为Demo.java的文件用于分析Java源代码的API,java,structure,analyzer,Java,Structure,Analyzer,我正在设计一个模块来分析Java源代码并获得其结构。 例如:如果有一个名为Demo.java的文件 public class A{ private String str = "Hello World"; public int i = 0; public void f0(){} } 然后如何发现类“Demo”包含以下消息: >字段[]-->str:String i:int >方法[]--->f0:void 它看起来像一个语法分析器。我正在寻找任何API、框架或开源代码
public class A{
private String str = "Hello World";
public int i = 0;
public void f0(){}
}
然后如何发现类“Demo”包含以下消息:
非常感谢您的支持 你最好的猜测是基于反思的方法 以下库可能很有用:
- 番石榴()
- 共同点:小动物/反射()
- 番石榴()
- 共同点:小动物/反射()
- 你最好的猜测是基于反思的方法
以下库可能很有用:
Java语言提供反射和内省API(请参阅JDK Javadocs中的Java.lang.reflect和Java.bean包)。然而,理解和利用这些API可能相当复杂。BeanUtils组件围绕这些功能提供了易于使用的包装。
Apache Commons BeanUtils或guava reflection
来自Apache Commons:
Java语言提供反射和内省API(请参阅JDK Javadocs中的Java.lang.reflect和Java.bean包)。然而,理解和利用这些API可能相当复杂。BeanUtils组件围绕这些功能提供了易于使用的包装。
反射最适合于此
比如说
Class cls = Class.forName("com.dds.core.Emp");
Object obj = cls.newInstance();
Field[] fields = cls.getDeclaredFields();
可以迭代这些字段以获得完整列表。对于方法、构造函数等也有类似的方法
几行简单的代码就可以做到这一点。反射最适合这一点 比如说
Class cls = Class.forName("com.dds.core.Emp");
Object obj = cls.newInstance();
Field[] fields = cls.getDeclaredFields();
可以迭代这些字段以获得完整列表。对于方法、构造函数等也有类似的方法
几行简单的代码就可以做到这一点。询问库/框架或其他非现场资源的问题是离题的,它们无法得到明确回答,并导致讨论/广告询问库/框架或其他非现场资源的问题是离题的,无法明确回答这些问题并导致讨论/广告