Java中ArrayList之间的转换
问题内容:
抱歉,我认为这是一个继承问题:一直以来都是ArrayList问题!
好的,我的问题比我想象的要具体。所以我有两个家庭班。卡和区域。区域是用于存放卡片的盒子。
Zone,ZoneList和ZoneMap的前两个子类是存储卡的两种不同方式。诸如Hand和PokerHand之类的其他子类具有处理其存储卡的特定方式。
复杂的地方是Card还具有子类,例如PokerCard,而ZoneList和ZoneMap的子类用于组织这些子类。
所以protected ArrayList<Card> cardBox;
我希望在ZoneList和PokerHand中都能声明,cardBox = new ArrayList<PokerCard>();
因为PokerCard是一张卡片。我得到的错误是,当涉及到ArrayLists时,我显然无法在Card和GangCard之间进行转换。因此,我试图通过仅private ArrayList<PokerCard> cardBox;
在CardHand内部重新声明cardBox来解决此问题,但是这导致了隐藏问题我的程序。
真的,问题是关于ArrayLists之间的转换?Java告诉我我做不到,那么关于我如何做的任何想法?
z。
问题答案:
如果我对您的理解正确,则可能应该声明:
public class ZoneList<T extends Card> {
protected List<T> cardBox;
}
public class PokerHand extends ZoneList<PokerCard> {
public PokerHand() {
cardBox = new ArrayList<PokerCard>();
}
}