小编Nik*_*vić的帖子

拥有多个可关闭资源的类的正确用法

对于用户代码,有几个选项可以正确关闭多个资源:

1.尝试资源

try (
  A a = new A();
  B b = new B();
  C c = new C()
) {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

除了好而简短之外,这也是正确的。

2.番石榴 Closer

对于JDK7之前的版本,有Guava Closer,其用法如下:

Closer closer = Closer.create();
try {
  A a = closer.register(new A());
  B b = closer.register(new B());
  C c = closer.register(new C());
  // ...
} catch (Throwable e) { // must catch Throwable
  throw closer.rethrow(e);
} finally { …
Run Code Online (Sandbox Code Playgroud)

java

5
推荐指数
1
解决办法
154
查看次数

如何找出 Firestore 中事务失败的根本原因?

如果 Firestore 事务失败,它会抛出FirestoreException异常,仅显示“事务因重试次数过多而被取消”。

即使我将退休数设置为 1,也没有根本原因或任何其他线索。

是否有可能找到根本原因?

java firebase google-cloud-firestore

5
推荐指数
1
解决办法
701
查看次数

如何在现有项目中从 Datastore 切换到 Firestore?

我有一个使用 Datastore 的现有 Google Cloud 项目。我对 Firestore 感到很兴奋,并想切换。根据https://www.youtube.com/watch?v=SYG-BgXoJFQ建议创建一个新项目。

是否有可能以某种方式核对数据存储(我不关心数据)并从头开始使用 Firestore?

如果不是,创建一个新项目有什么影响?

firebase google-cloud-datastore google-cloud-firestore

2
推荐指数
3
解决办法
5000
查看次数

在Kotlin中选择属性初始化器和属性getter的最佳实践是什么?

在Kotlin,我们可以选择:

class|object X {
  [override] val y = Z
}
Run Code Online (Sandbox Code Playgroud)

class|object X {
  [override] val y: Y
    get() = Z
}
Run Code Online (Sandbox Code Playgroud)

应该选择哪一个?何时选择?

kotlin

1
推荐指数
1
解决办法
137
查看次数