Google Cloud Datastore API - 如何添加字符串数组列表?
Google Cloud Datastore API - How to Add String Array List?
我想添加 title
作为数据存储 属性,其中 title
是一个字符串数组。我试过使用 StringValue
和 ArrayValue
。我无法获得实现此目的的确切语法。
如何在 Java 中通过 Google Cloud Datastore API 添加字符串数组列表?
entity = Entity.newBuilder(key)
.set("title", getTitle())
.build();
List<String> getTitle() {
...
}
我不熟悉 Java Datastore 客户端库,
但我想 Entity.set(String name, List<? extends Value<?>> values)
会适合你的情况。
此 set
方法接受 Value
的列表,因此您的代码将如下所示:
entity = Entity.newBuilder(key)
.set("title", convertToValueList(getTitle()))
.build();
convertToValueList
方法是这样的:
List<Value<String>> convertToValueList(List<String> list) {
List<Value<String>> result = new List<Value<String>>();
for (String s : list) {
result.add(StringValue.of(s));
}
// FIXME: It`s better to refacter this code with Stream API.
// https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Stream.html
return result;
}
我想添加 title
作为数据存储 属性,其中 title
是一个字符串数组。我试过使用 StringValue
和 ArrayValue
。我无法获得实现此目的的确切语法。
如何在 Java 中通过 Google Cloud Datastore API 添加字符串数组列表?
entity = Entity.newBuilder(key)
.set("title", getTitle())
.build();
List<String> getTitle() {
...
}
我不熟悉 Java Datastore 客户端库,
但我想 Entity.set(String name, List<? extends Value<?>> values)
会适合你的情况。
此 set
方法接受 Value
的列表,因此您的代码将如下所示:
entity = Entity.newBuilder(key)
.set("title", convertToValueList(getTitle()))
.build();
convertToValueList
方法是这样的:
List<Value<String>> convertToValueList(List<String> list) {
List<Value<String>> result = new List<Value<String>>();
for (String s : list) {
result.add(StringValue.of(s));
}
// FIXME: It`s better to refacter this code with Stream API.
// https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Stream.html
return result;
}