java 返回集合_java – List返回一个对象集合

我今天在一个内部图书馆的一部分工作,并希望通过在我们的“游戏”课程中添加基本的泛型来改进一些东西.

这是现在改变的游戏类的精简版:

public abstract class Game {

private final List players;

public Game() {

this.players = new LinkedList<>();

}

public Collection getPlayers() {

return players;

}

}

非常标准,我知道.但是当我想在这样的游戏模块中使用getPlayers()方法时:for(GamePlayer player:game.getPlayers())它给我的全部错误是返回类型等于“Collection< Object>”而不是“Collection< G>”.

我拥有的所有其他函数(如G getPlayer(String name))返回正确的类型,但不返回getPlayers函数.

我真的想避免这个库的实现将他们的玩家投射到类似的东西上

MyGamePlayer player =(MyGamePlayer)myGame.getPlayer(“dummy”).

我对仿制药做了什么错?

编辑:

这是包含for循环的类:

public class GiftTask implements Runnable {

private final Game game;

private final Item[] items;

public GiftTask(Game game, List itemList) {

this.game = game;

this.items = itemList.toArray(new Item[itemList.size()]);

}

@Override

public void run() {

for (GamePlayer player : game.getPlayers()) { // This line has the error

player.getInventory().addItem(items);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值