JavaParser:从 FieldDeclaration 获取字段名称

JavaParser: get field name from FieldDeclaration

我建立了一个 FieldDeclarations 列表,需要找出每个字段的名称:

List<FieldDeclaration> fields = classDeclaration.getFields();

for (FieldDeclaration field : fields)
{
    String fieldName = field.get...?
}

我找不到任何检索字段名称的方法。

奇怪的是,其中一个构造函数确实接受字段参数,所以不确定为什么它没有 getter。我需要从另一个节点获取它吗?

FieldDeclaration(NodeList modifiers, Type type, String name) Creates a FieldDeclaration. https://www.javadoc.io/doc/com.github.javaparser/javaparser-core/3.15.1

你说的构造函数是这样声明的

public FieldDeclaration(NodeList<Modifier> modifiers, Type type, String name) {
    this(assertNotNull(modifiers), new VariableDeclarator(type, assertNotNull(name)));
}

FieldDeclaration的源码中,有VariableDeclarator个节点列表如下;

@NonEmptyProperty
private NodeList<VariableDeclarator> variables;

您可以通过以下方法获取此私人列表;

public NodeList<VariableDeclarator> getVariables() {
    return variables;
}

获得列表后,您应该使用 VariableDeclarator class 方法,如果您查看它的源代码,此方法应该有效;

@Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
public SimpleName getName() {
    return name;
}

编辑

您可以访问源代码here