AutoValue

Google 的开源项目,用于自动补全生成 Java 模板代码,包括以下代码的自动生成:

  • equals
  • hashCode
  • toString
  • getter/setter
  • 抽象getter方法对应的字段
  • 全属性构造函数

AutoValue 通过注解读取自定义抽象类(通常是实体类),在编译时同一包目录下创建包可见性的实现类,以AutoValue_作为类名前缀

典型示例

// 引入依赖
dependencies {
  apt 'com.google.auto.value:auto-value:1.2'
}

@AutoValue
public abstract class Story{
  public abstract int id();
  public abstract String title();
  
  // 工厂方法,返回一个自动生成实现类的实例
  public static Story create(int id, String title){
    new AutoValue_Story(id,title);
  }
}

自动实现 Parcelable

dependencies {
  provided 'com.google.auto.value:auto-value:1.2'
  apt 'com.google.auto.value:auto-value:1.2'
  apt 'com.ryanharter.auto.value:auto-value-parcel:0.2.1'
}

// 只需声明实现 Parcelable 接口即可
@AutoValue
public abstract class Story implements Parcelable{
  public abstract int id();
  public abstract String title();
  public static Story create(int id, String title){
    new AutoValue_Story(id,title);
  }
}

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容