斗地主原型:equals要重写.同时也要重写出:hashCode
来源:互联网 发布:linux shell comm 编辑:程序博客网 时间:2024/06/06 20:38
学习常量:public static final 后要大写字母.
public class Card {
/**
* 打牌案例 :斗地主 toString():返回对象文本描述
*/
private int suit;// 花色
private int rank;// 点数
public static final int THREE = 0;// 从3开始,A和2最大.
public static final int FOUR = 1;
public static final int FIVE = 2;
public static final int SIX = 3;
public static final int SEVEN = 4;
public static final int EIGHT = 5;
public static final int NINE = 6;
public static final int TEN = 7;
public static final int JACK = 8;
public static final int QUEEN = 9;
public static final int KING = 10;// K
public static final int ACE = 11;// A
public static final int AEUCE = 12;// 2
public static final int BLACK = 13;// 小王
public static final int COLOR = 14;
/** 方块
*/
public static final int DIAMOND = 0;
/** 梅花
*/
public static final int CLUB = 1;
/**红桃*/
public static final int HEART = 2;
/**黑桃 */
public static final int SPADE = 3;
/**王 */
public static final int JOKER = 4;
public Card(int suit, int rank) {
this.suit = suit;
this.rank = rank;
}
public int getSuit() {
return suit;
}
public void setSuit(int suit) {
this.suit = suit;
}
public int getRank() {
return rank;
}
public void setRank(int rand) {
this.rank = rank;
}
public String toString() {
// suit =3 rank =11 算法转换:黑桃A
return suitName[suit] + rankName[rank];
}
private static String[] suitName = { "方块", "梅花", "红桃", "黑桃" };
private static String[] rankName = { "3", "4", "5", "6", "7", "8", "9",
"10", "J", "Q", "K", "A", "2", "小王", "大王" };
public boolean equals(Object obj){//重写equals父类
if(obj==null){return false;}
if(this==obj){//表示同一个对象
return true;
}
if(obj instanceof Card){
Card other = (Card)obj;
return this.rank==other.rank&&this.suit==other.suit;
}
return false;
}
public int hashCode(){//equals要重写.同时也要重写出:hashCode
return suit*100+rank;//c1(rank=12,suit=1) hashCode()=112
}
}
public class Card {
/**
* 打牌案例 :斗地主 toString():返回对象文本描述
*/
private int suit;// 花色
private int rank;// 点数
public static final int THREE = 0;// 从3开始,A和2最大.
public static final int FOUR = 1;
public static final int FIVE = 2;
public static final int SIX = 3;
public static final int SEVEN = 4;
public static final int EIGHT = 5;
public static final int NINE = 6;
public static final int TEN = 7;
public static final int JACK = 8;
public static final int QUEEN = 9;
public static final int KING = 10;// K
public static final int ACE = 11;// A
public static final int AEUCE = 12;// 2
public static final int BLACK = 13;// 小王
public static final int COLOR = 14;
/** 方块
*/
public static final int DIAMOND = 0;
/** 梅花
*/
public static final int CLUB = 1;
/**红桃*/
public static final int HEART = 2;
/**黑桃 */
public static final int SPADE = 3;
/**王 */
public static final int JOKER = 4;
public Card(int suit, int rank) {
this.suit = suit;
this.rank = rank;
}
public int getSuit() {
return suit;
}
public void setSuit(int suit) {
this.suit = suit;
}
public int getRank() {
return rank;
}
public void setRank(int rand) {
this.rank = rank;
}
public String toString() {
// suit =3 rank =11 算法转换:黑桃A
return suitName[suit] + rankName[rank];
}
private static String[] suitName = { "方块", "梅花", "红桃", "黑桃" };
private static String[] rankName = { "3", "4", "5", "6", "7", "8", "9",
"10", "J", "Q", "K", "A", "2", "小王", "大王" };
public boolean equals(Object obj){//重写equals父类
if(obj==null){return false;}
if(this==obj){//表示同一个对象
return true;
}
if(obj instanceof Card){
Card other = (Card)obj;
return this.rank==other.rank&&this.suit==other.suit;
}
return false;
}
public int hashCode(){//equals要重写.同时也要重写出:hashCode
return suit*100+rank;//c1(rank=12,suit=1) hashCode()=112
}
}
- 斗地主原型:equals要重写.同时也要重写出:hashCode
- 重写equals方法也要重写hashCode
- 为什么重写equals()也要重写hashCode()
- 为什么重写equals方法的同时也要重写hashcode方法?
- hashcode和equals为何要同时重写
- hashcode和equals为何要同时重写
- hashcode和equals为何要同时重写
- hashcode和equals为何要同时重写
- hashcode和equals为何要同时重写
- 重写equals方法的同时为什么要重写hashcode方法
- 重写equals()方法的同时要重写hashcode()方法
- 对象重写equals时为什么也要重写hashCode方法
- JAVA hashcode和equals为何要同时重写
- 为什么要同时重写hashcode和equals方法
- 为什么重写hashCode 同时equals
- 重写equals()时要重写hashCode()
- 重写equals()时要重写hashCode()
- 为什么重写equals方法要重写hashCode
- zstu3924 [NOI2005]瑰丽华尔兹 (单调队列dp)
- linux字符集编码转换与iconv使用简单示例
- escape
- Android——UI——选项卡(Tab)
- java连接常见数据库的连接字符串
- 斗地主原型:equals要重写.同时也要重写出:hashCode
- LeetCode 之 Remove Element
- C++获得所有网卡信息
- zju——涨价了
- android 真正能用的wireshark抓包史上能用的第一种方法
- cocos2d-x各设备适配
- Program received signal SIGABRT, Aborted + Thrift transport::TSocket::local_open
- JSON入门教程
- 2013杭州区域赛现场赛 B && HDOJ 4771 —— 搜索