簡體   English   中英

從類內部的方法調用構造函數

[英]Calling constructor from method inside class

我正在嘗試為類實現重置函數,最簡單的方法是在arraylist上使用removeAll()並調用構造函數。 然而,這似乎不起作用,因為我有錯誤的語法,我正在嘗試一些我不能做的事情。

到目前為止,我有一個工作方法,但我想清理它,因為它只是重復代碼(所有期望removeAll()語句)來自構造函數,稱為StandardDeck()

public void reset(){
    cardArray.removeAll(cardArray);
    for(int suit = 0; suit < 4; suit++){
        for(int rank = 0; rank < 13; rank++){
            PlayingCard card = new PlayingCard(suit, rank);
            cardArray.add(card);
        }
    }
}

如果我理解你的需要,你想要這個:

public class StandardDeck {

    List<PlayingCard> cardArray = new ArrayList<>();

    public StandardDeck() {
       reset();
    }

    public void reset() {
        cardArray.clear();
        for(int suit = 0; suit < 4; suit++){
          for(int rank = 0; rank < 13; rank++){
            PlayingCard card = new PlayingCard(suit, rank);
            cardArray.add(card);
          }
        }
    }
}

無需復制循環。 正如我之前指出明確的標准和最佳的解決方案,以清除列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM