【问题标题】:The type of expression must be an array but resolved to list<string>表达式的类型必须是数组,但解析为 list<string>
【发布时间】:2013-03-08 18:30:33
【问题描述】:

我正在创建一个字符串字段列表并存储在一个数组列表中。现在,当将该数组列表传递给数组时,我收到以下错误:

表达式的类型必须是数组但解析为列表

List<String> fields = new ArrayList<String>();
        fields.add("_raw");
        //fields.add("_time");
        fields.add("host");
        fields.add("sourcetype");
        fields.add("source");
        jobRes.setFieldList(fields[]);
        jobRes.setOffset(2500);

【问题讨论】:

    标签: arrays arraylist


    【解决方案1】:

    (对不起,addtl 的答案,我无法评论)乍一看,我想这是 Java,因为 C# 没有允许类型分配的 ArrayList(我不认为,无论如何)。以上在 Java 中实际上是正确的,因为 ArrayList 继承自抽象列表。这样做的原因通常是为了简化迭代/转换。 ArrayList 已经有一个 add 方法,所以看起来强制转换只是为了启用未执行的不同强制转换...... :)

    【讨论】:

      【解决方案2】:

      这有点模糊。这是java吗? C#?无论如何,我敢打赌问题出在你的演员表上。我会尝试类似:

      jobRes.setFieldList(fields.ToArray(new String[fields.Size()])
      

      这实际上会传递一个数组。

      【讨论】:

        猜你喜欢
        • 2016-02-20
        • 2012-04-20
        • 2018-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 2019-10-25
        • 1970-01-01
        相关资源
        最近更新 更多