我正在尝试将内部类(例如接口(interface)Listener {})添加到TypeSpec。另外,我想将类型为Listener的字段添加到我的TypeSpec中。我怎样才能实现这样的目标?
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
。关于JavaPoet-内部类类型的字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41277726/