2016-01-22 108 views
-1

我與之前發佈a question的用戶之一有類似的情況。這是一款紙牌遊戲,我們必須創建一個名爲card的新數據類型,其中包含「排名」和「套裝」。找到自定義數據類型的大小(或長度)

如何獲取卡的arrayList的大小,當我們不能使用size()length,因爲它不是一個字符串?

更新:我不能使用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

你正好這樣做,得到的ArrayList大小:.size(),是怎麼回事? – Stultuske

+0

你的意思是以字節爲單位的大小? –

+0

[Java中是否有任何sizeof-like方法?](http://stackoverflow.com/questions/2370288/is-there-any-sizeof-like-method-in-java) –

回答

2

更新:我不能使用大小(),因爲當我寫它,它就會給出警告不能解析方法「大小() '

確保您從正確的實例調用size()方法。這是如何從一個ArrayList獲得大小的示例:

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

編輯:您的卡對象,而不是一個ArrayList上調用size()


更改方法:

public static int checkColumn(ArrayList<Card> cardArray) 
+0

我已更新我的問題 – MasAdam

+0

@MasAdam如果您的意圖是將像hisHand這樣的數組列表傳遞給方法,您可以按照上面的建議對其進行更改。然後你可以通過調用'int cardSize = cardArray.size()'來獲得大小。如果將數組傳遞給該方法,則將調用cardArray.length。 – user3437460

1

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

size() -method返回集合中元素的數量。

以您的代碼示例,hisCards.size()不應導致編譯錯誤。

您的變量名稱cardArray不是array(或ArrayList),它只是一個Card。當然,這沒有任何size() - 方法(除非你實際上是由一個。)

+0

但爲什麼我在使用它時收到警告? – MasAdam

+5

我該如何回答這個問題?什麼樣的警告? – Tobb

+0

我剛剛發佈了更新 – MasAdam