【发布时间】:2021-05-28 14:09:10
【问题描述】:
private ArrayList players = new ArrayList<Player>();
public Player getPlayerByName(String theName){
for(int i = 0; i < players.size(); i++){
String pName = (String) players.get(i);
if(pName.equals(theName)){
return (Player) players.get(i);
} else{
return null;
}
}
以上是我的代码。所以,错误来自这个方法,说它必须返回一个 Player 类型,但我在搜索匹配的字符串后这样做了。你怎么做这个工作?如果这个问题已经得到解答,我深表歉意。
【问题讨论】:
-
如果 player.size == 0. 这是您当前的问题,则该场景没有返回声明。从 else 和 for 中取出 return null,并将其放在循环之后
-
还要注意,如果代码一致缩进,错误会更清楚。如果您使用的是 IDE,它应该能够为您缩进代码。
-
谢谢@Stultuske!数组中充满了来自不同文件的信息,我可以在调试器上看到所有信息。我确实取出了退货,我很抱歉这是一个愚蠢的错误。
-
@JonSkeetjob 所以缩进是我试图在这里获取代码......它在实际文件上的格式很好我昨晚非常疲惫,想在前往之前提出这个问题床。
标签: java object arraylist iteration