我想在撲克牌中的兩張牌之間進行比較..他們每個人都有套裝和等級,我想檢查是否有重複的東西來創建異常。 。需要這段代碼的幫助!可以使用equals方法還是錯誤的?!在Java中比較兩個對象..每個對象都有兩個字段
import java.util.ArrayList;
public class Pokerhand {
public final int CARDS_NUMBER = 5;
ArrayList<Card> cards = new ArrayList<Card>();
public Pokerhand (Card card1 , Card card2, Card card3, Card card4, Card card5)
{
cards.add(card1);
cards.add(card2);
cards.add(card3);
cards.add(card4);
cards.add(card5);
}
private boolean check(ArrayList<Card> cards)
{
if (cards.size() != CARDS_NUMBER)
throw new IllegalArgumentException("Incorrect number of cards!! ");
for (int i=0 ; i<= cards.size(); i++)
{
if (cards.get(i).equals(cards.get(i+1)))
throw new IllegalArgumentException("Duplicat card");
}
}
}
'equals()'很好用,只要你在'Card'類中實現了它。 – Keppil
您應該覆蓋Card類中的equals()。 –
它可以使用等於,但我認爲等於沒有在您的卡類實現。所以你必須覆蓋你的卡片類的equals方法。 – kai