[google/guava]添加java惰性模型

2018-08-03 339 views
2

scala 惰性演示:

  private lazy val conn = DriverManager.getConnection("jdbc: full url....")

java演示:

  public class LazyReferenceTest
{
    private final LazyReference<Connection> conn = LazyReference.goLazy(() -> {
        try {
            return DriverManager.getConnection("jdbc:url....");
        }
        catch (SQLException e) {
            throw new RuntimeException("Connection create fail", e);
        }
    });
   // .....
}

回答

5

嗨@harbby,好消息! GuavaSuppliers.memoize已经按照这个 PR 的建议做了,所以LazyReference不需要。 :)

6

我们为您(此拉取请求的发送者)找到了贡献者许可协议,但无法找到所有提交作者或共同作者的协议。如果您创作了这些内容,也许您在 git 提交中使用的电子邮件地址与签署 CLA 时使用的电子邮件地址不同(在此处登录以仔细检查)?如果这些内容是由其他人创作的,那么他们也需要签署 CLA,并确认他们同意将这些内容贡献给 Google。为了通过此检查,请解决此问题并让拉取请求作者添加另一个评论,机器人将再次运行。如果机器人不发表评论,则意味着它认为没有任何变化。

3

@jbduncan谢谢你,我会仔细阅读Guava的Suppliers.memoize。

5

@jbduncan现在如果只memoize接受java.util.function.Supplier......也许一年......:joy_cat:

9

@kashike 确实!但我个人认为,与此同时,Suppliers.memoize(javaSupplier::get)这是一个相对轻松的解决方法。 (尽管我确信您已经知道这个解决方法并且会反驳。?)