查找自定义数据类型

时间:2016-01-22 09:13:21

标签: java

我之前发布a question的用户之一有类似的情况。这是一个纸牌游戏,我们必须创建一个名为card的新数据类型,其中包含“rank”和“suit”。

当我们无法使用size()length时,如何获取卡的arrayList的大小,因为它不是字符串?

更新:我无法使用size(),因为当我写它时会发出警告cannot resolve method 'size()'

    `ArrayList<Card> hisCards;
    hisCards = new ArrayList<Card>();`

public static int checkColumn(Card cardArray) {
    int cardSize = cardArray.size();
    if (cardSize == 0) {
       return 1;
   }
   return 0;

}

我只是计划稍后通过一个函数。 cardArray将替换为hishand 也许我只是做错了?

2 个答案:

答案 0 :(得分:2)

  

更新:我不能使用size()因为当我写它时会发出警告无法解析方法'size()'

确保从正确的实例调用size()方法。这是一个如何从arraylist获取大小的示例:

ArrayList<Card> hisCards = new ArrayList<Card>();
int numOfCards = hisCards.size();    //get number of elements from hisCards

编辑:您正在调用卡片对象上的size()而不是arraylist!

将您的方法更改为:

public static int checkColumn(ArrayList<Card> cardArray)

答案 1 :(得分:1)

size()方法不是String的方法,它是Collection的方法,这意味着new ArrayList<Card>().size()有效。

size() - 方法返回集合中的元素数。

使用您的代码示例,hisCards.size()不应导致编译错误。

名为cardArray的变量不是array(或ArrayList),它只是Card。当然,这没有size() - 方法(除非你真的做了一个。)