JavaPoet - 内部类型字段 class

JavaPoet - Field of type inner class

我正在尝试向 TypeSpec 添加内部 class(例如 interface Listener{})。我还想在我的 TypeSpec 中添加一个类型为 Listener 的字段。我怎样才能实现这样的目标?

TypeSpec outerClass = ...;
TypeSpec innerClass = ...;
outerClass.addType(innerClass);
outerClass.addField(...); // How can i add a field of type innerClass?

您需要计算类型的完全限定名称。看起来像这样:

ClassName outerName = ClassName.get("com.example.project", "Outer");
ClassName innerName = outerName.nestedClass("Inner");

然后你可以调用 outerClass.addField() 传递 innerName