这是我的代码架构:
public String[] function(List<String[]> playerList){
i = 5
return playerList[i];
当我尝试运行这段代码时,会出现错误:
Array type expected; found: 'java.util.List<java.lang.String[]>'
我知道我在混合使用数组和列表时出了问题,如果我不能将我的列表输入更改为数组,那么修复此代码的正确方法是什么?
要在List
中访问索引处的元素,需要调用List.get(int index)
方法(而不是使用[]
,这只适用于访问数组中的元素)。例如:
return playerList.get(i);
不像C++,可以进行运算符重载。
在Java中,playerList
是一个列表,你不能对它应用"[]",但列表的元素/项是一个Array
类型(String[])。所以,你应该使用list.get()
和它的元素,你可以使用[]
运算符:(playerList.get(i))[0]
playerList
是一个列表类型,要访问列表中的元素,您必须调用 get 函数。
例如 >> playerList.get(0)
,然后您将获得索引为 0 的元素值。在这种情况下,您将返回数组的字符串。如果您想要访问该数组元素,可以使用 playerList.get(0)[i]
所以,你想要获取一个字符串数组,但是有两个(2)事情你需要注意。首先,你可能想将playerList
指定为ArrayList<String>
,然后(第二),你试图返回playerList[i]
作为字符串而不是作为指定的字符串数组String[]
。
public String[] function(List<String[]> playerList){
i = 5
return playerList[i];
你或许想尝试这个?
return playerList.toArray(new String[playerList.size()]);