Java 类型不匹配:无法从元素类型对象转换为播放器
这是代码。不知道怎么了。发生在说Java 类型不匹配:无法从元素类型对象转换为播放器,java,Java,这是代码。不知道怎么了。发生在说 for(玩家:World.getPlayers()){ if(cmd[0].equalsIgnoreCase(“票证”)){ 如果(player.getRights()>0){ if(World.getTicketList().size()==0){ player.getPackets().sendGameMessage(“没有人需要帮助,所以坐下来休息一下。”); 返回true; } 字符串username=World.getTicketList().get(
for(玩家:World.getPlayers()){
if(cmd[0].equalsIgnoreCase(“票证”)){
如果(player.getRights()>0){
if(World.getTicketList().size()==0){
player.getPackets().sendGameMessage(“没有人需要帮助,所以坐下来休息一下。”);
返回true;
}
字符串username=World.getTicketList().get(0.toString();
Player p2=World.getPlayer(用户名);
player.setNextWorldTile(p2);
p2.getPackets().sendGameMessage(“请向“+Misc.formatPlayerNameForDisplay(player.getUsername())+”提问”);
World.remoteTicket(username.toLowerCase());
返回true;
}
if(World.getTicketList().contains(player.getUsername().toLowerCase()){
player.getPackets().sendGameMessage(“您已经提交了票证。”,true);
返回true;
}
addToTicket(player.getUsername());
player.getPackets().sendGameMessage(“您的票证已提交。您的票证号为“+World.getTicketId(player.getUsername())+1+”);
player.getPackets().sendGameMessage(“确保您不在PvP区域…”);
字符串username=World.getTicketList().get(0.toString();
for(玩家:World.getPlayers()){
如果(player.getRights()>0){
players.getPackets().sendGameMessage(Misc.formatPlayerNameForDisplay(player.getUsername())+“已发出协助请求。”,true);
}
}
返回true;
}
}
编辑:
下面是GetPlayer的代码
publicstaticfinalentitylist getPlayers(){
返回球员;
}
确保World.getPlayers()返回的任何东西都实现java.lang.Iterable问题在for循环中。换成
for (Object player : World.getPlayers()) {
if (((Player)player).getRights() > 0)
players.getPackets().sendGameMessage(Misc.formatPlayerNameForDisplay(player.getUsername())+" has issued a assistance request.", true);
}
}
这应该行得通。谢谢,这不起作用,但只能在数组或java.lang.Iterable的实例上进行迭代。我将发布代码。哎哟。投给玩家[],而不是玩家。我编辑了这篇文章。试试看。嗯,似乎还是不起作用。现在就得到这个,不能从EntityList转换到Player[]我想我们需要更多地了解EntityList是什么以及从哪里获得它。EntityList是由您实现的吗?它是否实现了java.lang.Iterable接口?如果没有,则需要。发布您对EntityList的定义。