javapoet:源文件自動生成框架

介 紹

簡單使用

1. 常用類

  • MethodSpec:代表一個方法或者構造函數
  • TypeSpec:代表一個類,接口或者枚舉聲明
  • FieldSpec:代表一個成員變量,一個字段聲明
  • JavaFile:包含一個頂級類的Java文件

2. Demo

MethodSpec main = MethodSpec.methodBuilder("main")                                   // 方法名
                           .addModifiers(Modifier.PUBLIC, Modifier.STATIC)          // 修飾關鍵詞
                           .addParameter(String[].class, "args")
                           .addStatement("$T.out.println($S)", System.class, "Hello World")
                           .build();
TypeSpec typeSpec = TypeSpec.classBuilder("HelloWorld")
                            .addModifiers(Modifier.PUBLIC)  // 修飾詞
                            .addMethod(main)  // 將main方法添加到類裏面
                            .build();
JavaFile javaFile = JavaFile.builder("dc.edu.ntu.permissiondispatcher.autogen", typeSpec).build();
javaFile.writeTo(new File("E:\\AndroidProject\\PermissionDispatcher\\app\\src\\main\\java"));
  • JavaFile 負責輸出 Java 文件,因爲 TypeSpec 已經設定了類名字,所以文件默認就會輸出以該類命名的Java文件,如上面的例子會輸出在包爲 dc.edu.ntu.permissiondispatcher.autogen 的名爲 HelloWorld.java 的文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章