我之前发布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
也许我只是做错了?
答案 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()
- 方法(除非你真的做了一个。)