Google Cloud Datastore API - 如何添加字符串数组列表?

Google Cloud Datastore API - How to Add String Array List?

我想添加 title 作为数据存储 属性,其中 title 是一个字符串数组。我试过使用 StringValueArrayValue。我无法获得实现此目的的确切语法。

如何在 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;
}