我想为类List
中的每个现有字段添加一个类型的新字段。我还希望它用一个空的ArrayList<Long>
. 如何创建适当的FieldDeclaration
对象以添加到我已经提取BodyDeclaration
的类 ( ) 的列表中?TypeDeclaration
1 回答
3
我知道这有点老了,你可能已经找到了答案,但由于这里没有答案,这在我找到解决方法之前已经困扰了我一段时间,所以我会写下我是如何解决这个问题的。
注意:在 JavaParser 的常见问题解答中,它明确指出它打算对空列表使用延迟初始化(在 getter 或 setter 中)。有关这方面的更多信息,请参阅以下问题:
事不宜迟,以下是我的解决方法:
String initString = "ArrayList<" + argType + ">()";
FieldDeclaration fd = new FieldDeclaration(
ModifierSet.PUBLIC,
new ClassOrInterfaceType(className),
new VariableDeclarator(
new VariableDeclaratorId(name, new NameExpr(initString))));
className
集合的名称在哪里(List
在这种情况下)并初始化另一个ClassOrInterfaceType
实例以添加argType
。然后fd
将产生以下内容:
public List<argType> parameters = new ArrayList<argType>();
于 2015-12-08T22:10:12.650 回答