当前位置: 首页 > 面试题库 >

Java中ArrayList之间的转换

龚鸿雪
2023-03-14
问题内容

抱歉,我认为这是一个继承问题:一直以来都是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>();
   }
}


 类似资料:
  • 问题内容: 在Java中,并作为收藏。但是我不知道在什么情况下应该使用什么时间。两者之间的主要区别是什么? 问题答案: 您正在专门询问ArrayList和HashMap,但我认为要完全了解发生了什么,您必须了解Collections框架。因此,ArrayList实现List接口,而HashMap实现Map接口。因此,真正的问题是您何时要使用列表以及何时要使用地图。这是Java API文档有很大帮助

  • 问题内容: 您不能从int转换为char,因此这是非法的 , 但是,这是允许的。 这不是纯数字和文字吗?如何允许? 问题答案: 实际上是Java中的无符号16位整数类型。 与其他整数类型一样,您可以执行从整数常量到任何整数类型的赋值转换,只要它在适当的范围内即可。这就是为什么 也可以。 从JLS,第5.2节: 此外,如果该表达式是类型为byte,short,char或int的常量表达式(第15.2

  • 问题内容: 请帮助我了解下面写的两行之间的区别,我知道两者都是有效的,但是我想知道哪一个更好? 和 问题答案: 哪一个更好? 就个人而言,我喜欢使用第一个,因为我认为对我来说更清楚了,但这是您的个人喜好,其他人的确认为这是多余的。 有什么区别? 这两行之间没有什么区别,它们在Java 7中的含义相同(如果您的目标是Java 6,请使用第一个)。 [编辑]: 同样,正如Elliott Frisch指

  • 本文向大家介绍Java中Array的长度和ArrayList的大小之间的差异,包括了Java中Array的长度和ArrayList的大小之间的差异的使用技巧和注意事项,需要的朋友参考一下 在集合中,主要功能需求之一就是获取要存储在我们的集合中的元素数量,以便可以决定是否在其中添加更多元素。同样,元素的数量对于集合的迭代也是必需的。 众所周知,Array和Arraylist都用于存储元素,但是都有不

  • 我是arrayList的新手,现在输出有问题。它要求我将字符串所有者中的第二个字符与其他字符进行比较,并按降序排序。我尝试使用变量temp1交换其中的两个。 运行前的列表:(A8,1)(B1,2)(C7,3)(D2,4)(E6,5)(F3,6) 但我的输出是:(A8,1)(B1,2)(D2,4)(F3,6)(E6,5)(C7,3)(不正确)

  • 问题内容: 我该怎么做? 我有一个arraylist,带有float元素。 它不起作用。 无法从Object []转换为float [] 问题答案: 自己循环播放。 强制执行nullcheck可以避免,因为(一个对象)可以是,而(原语)根本不能。 如果您已经在使用Java 8,并且以而不是结尾就没问题了,请考虑(没有这样的方法)。