【问题标题】:javapoet - how to implement "extends" and "implements"javapoet - 如何实现“扩展”和“实现”
【发布时间】:2016-01-11 06:17:34
【问题描述】:

使用Javapoet,如何实现如下:

  1. A 类扩展 B 类

  2. C 类实现接口 D

在javadoc中,提到了如何创建接口。

【问题讨论】:

    标签: java javapoet


    【解决方案1】:

    将TypeSpec.Builder.superclass() 用于扩展,TypeSpec.Builder.addSuperinterface() 用于实现。

    【讨论】:

    • 非常感谢杰西。
    • 我正在创建一个实现 Serializable 接口的类。如何编写代码生成 Serial version id?
    • @urSus 想要发送拉取请求吗?
    【解决方案2】:

    假设您要生成一个扩展Exception 类并实现Serializable 接口的Dummy 类。生成代码为:

    ...
    TypeSpec typeSpec = TypeSpec.classBuilder("Dummy")
      .addSuperinterface(Serializable.class) 
      .superclass(Exception.class) 
      .build();
    
    JavaFile javaFile = JavaFile.builder("sample.javapoet", typeSpec).build();
    ...
    

    生成的代码将是:

    package sample.javapoet;
    
    import java.io.Serializable;
    import java.lang.Exception;
    
    class Hoge extends Exception implements Serializable {
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2014-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多