Lombok 之 @Getter(lazy=true)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Lombok 之 @Getter(lazy=true)

Lombok 之 @Getter(lazy=true)

 2014/10/3 15:15:55  朱秋旭  程序员俱乐部  我要评论(0)
  • 摘要:最后终于到了一个高级点的annotation的用法了,使用lazy版的getterannotation,会提高代码效率,同时由Lombok帮助你管理线程安全问题,大可放心。先看一段代码:importlombok.Getter;publicclassGetterLazyExample{@Getter(lazy=true)privatefinaldouble[]cached=expensive();privatedouble[]expensive()
  • 标签:

最后终于到了一个高级点的annotation的用法了,使用lazy版的getter ?annotation, 会提高代码效率,同时由Lombok帮助你管理线程安全问题,大可放心。先看一段代码:

class="java" name="code">import lombok.Getter;

public class GetterLazyExample {
  @Getter(lazy=true) private final double[] cached = expensive();
  
  private double[] expensive() {
    double[] result = new double[1000000];
    for (int i = 0; i < result.length; i++) {
      result[i] = Math.asin(i);
    }
    return result;
  }
}

?

使用了getter这个annotation可以在实际使用到cached的时候生成cached,同时,Lombok会自动去管理线程安全的问题,不会存在重复赋值的问题。

可以把这篇博客作为之前一篇@Getter的一个附属特性。Getter还真是蛮好用的。

?

  • 相关文章
发表评论
用户名: 匿名