如何添加数据以键入List <list <object >>

时间:2018-08-13 18:10:57

标签: java android google-sheets-api

我正在尝试使用android studio创建一个android应用,并且我希望能够将用户输入的数据上传到Google表格。

我查看了Google Sheets API,我相信我已经正确设置了所有必要的依赖项。我遇到的问题是使用内置方法setValues()将数据添加到数据类型ValueRange中。

文档说ValueRange对setValues具有以下方法

public ValueRange setValues(java.util.List<java.util.List<java.lang.Object>> 
values)

并且Google Sheets API文档提供了以下示例,说明如何使用setValues()方法

List<List<Object>> values = Arrays.asList(
    Arrays.asList(
            // Cell values ...
    )
    // Additional rows ...
);
ValueRange body = new ValueRange()
    .setValues(values);

当我尝试添加自己的数据时,出现以下错误。

List<List<Object>> values = Arrays.asList(Arrays.asList("hello world"));

Incompatible types.
Required: List<java.util.List<java.lang.Object>>
Found: List<java.util.List<java.lang.String>

所以我的问题是如何添加数据以键入List<List<Object>>

3 个答案:

答案 0 :(得分:3)

将字符串投射到对象:

Arrays.asList(Arrays.asList((Object) "Hello World"))

或添加类型见证人:

Arrays.asList(Arrays.<Object>asList("Hello world"))

答案 1 :(得分:1)

必需的是对象的ArrayList,但找到字符串的ArrayList。试试下面的代码

List<Object> objects = Arrays.asList("Hello world");
List<List<Object>> values = new ArrayList<>();
values.add(objects);
setValues(values);

答案 2 :(得分:0)

尝试一下:

List<List<Object>> values = Arrays.asList(Arrays.asList(new Object[]{"hello world"}));