मैं है निम्नलिखित enum जो एक CardRankएक enum
public enum CardRank
{
DEUCE('2'), TREY('3'), FOUR('4'), FIVE('5'), SIX('6'), SEVEN('7'),
EIGHT('8'), NINE('9'), TEN('T'), JACK('J'), QUEEN('Q'), KING('K'),
ACE('A');
private char symbol;
private CardRank(char symbol)
{
this.symbol = symbol;
}
public char getSymbol()
{
return this.symbol;
}
}
CardRank
का प्रतिनिधित्व करता है आरोही क्रम में प्रतिनिधित्व किया है में रैंक की तुलना करना। मुझे यह जानने के लिए रैंक की तुलना करने की आवश्यकता है कि कौन सा रैंक दूसरे से बड़ा है। मैं >
ऑपरेटर का उपयोग संख्यात्मक मानों के साथ कर सकता हूं लेकिन चार मानों के साथ नहीं।
// this will print out TRUE for all numerical values compared
// but FALSE for the chars
if (card.getRank().getSymbol() > anotherCard.getRank().getSymbol()) {
System.out.println("true");
} else {
System.out.println("false");
}
कोई विचार?
यहाँ एक तुलनाकारी का प्रयोग करें। यदि आप चाहें तो आप इसे enum के लिए एक स्थिर सार्वजनिक आंतरिक कक्षा बना सकते हैं। –
यदि आप स्ट्रेट्स से चिंतित हैं तो आप इसे कम इक्का जोड़ना चाहेंगे। –