【问题标题】:How to return an array from a list [Java]如何从列表中返回一个数组 [Java]
【发布时间】:2016-02-15 02:37:42
【问题描述】:

这是我的代码的设置方式:

public String[] function(List<String[]> playerList){
i = 5
return playerList[i];

当我尝试运行这段代码时,我得到了错误:

Array type expected; found: 'java.util.List<java.lang.String[]>'

我知道我通过混合我的数组和列表搞砸了一些事情,假设我无法将我的列表输入更改为数组,那么修复此代码的正确方法是什么?

【问题讨论】:

    标签: java arrays list


    【解决方案1】:

    您通过调用List.get(int index)(不是[],即访问数组中的元素)来访问List 中索引处的元素。喜欢,

    return playerList.get(i);
    

    【讨论】:

      【解决方案2】:

      不像c++,它可以做运算符重载。

      在 java 中,playerList 是一个列表,您不能对它应用“[]”,但该列表的元素/项是一个 Array 类型(String[])。所以,你应该使用list.get() 并使用它的元素,你可以使用[] 运算符:(playerList.get(i))[0]

      【讨论】:

        【解决方案3】:

        playerList是List类型,访问List中的元素必须调用get函数。
        例如 >> playerList.get(0) ,那么您将在 index-0 中获得元素的值。在这种情况下,您将返回数组字符串。如果你想访问那个 Array 元素,你可以使用playerList.get(0)[i]

        【讨论】:

          【解决方案4】:

          因此,您尝试获取一个字符串数组,但是,您可能想要查看两 (2) 个内容。首先,您可能希望将playerList 指定为ArrayList&lt;String&gt;,然后(第二)尝试将playerList[i] 作为字符串返回,而不是作为指定String[] 的字符串数组。

          public String[] function(List<String[]> playerList){
            i = 5
            return playerList[i];
          

          您可能想试试这个?

          return playerList.toArray(new String[playerList.size()]);
          

          【讨论】:

            猜你喜欢
            • 2012-11-29
            • 1970-01-01
            • 2014-01-08
            • 2017-11-26
            • 2023-02-26
            • 2013-03-04
            • 2018-04-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多