对象的关联/toString/equals

对象的关联

  • 定义
    简单的说,一个对象中使用了另一个对象。

  • 示例

class Employee 包含 class MyDate

if(o1 instanceof Employee && o2 instanceof Employee){

            Employee em=(Employee) o1;

            Employee emp=(Employee) o2;

            MyDate md1 = em.getBirthday();

            MyDate md2 = emp.getBirthday();

            if(md1.getYear().equals(md2.getYear())){

                if(md1.getMonth().equals(md2.getMonth())){

                    return md1.getDay().compareTo(md2.getDay());

                }else {

                    return md1.getMonth().compareTo(md2.getMonth());

                }

            }else{

                return md1.getYear().compareTo(md2.getYear());

            }
}

java.lang.Object

  • 定义
    是所有类的父类。若一个类没有显示的继承任何类时,默认 extends java.lang.Object
  • 作用
  1. 既然 Object 是所有类的父类,因此 Object 类中的内容是最具共性的

  2. 既然 Object 是所有类的父类,因此子类可以继承 Object 类中所有的方法

  3. 既然 Object 是所有类的父类,若 Object 类中的方法对于子类不适用,子类也可以重写 Object 类中的方法

to String()

  • 作用:得到字符串表现形式

  • Object 类中的 toString 返回
    getClass.getName() + '@' + Integer.toHexString(hashCode())
    即:得到的是十六进制的hashCode Person@3fab5

  • hashCode
    当new创建对象时,产生唯一的hashCode地址值
    以十六进制表示
    java中实际是没有地址的,地址值是标识对象在内存中的存在

  • 若 Object 类中的 toString() 对于我们来说不适用,我们可以重写。

要得到一个人,即输出p,但是输出结果是hashCode
我们想要的人是有具体属性的,字,年龄等等,才叫“人”。

public String toString(){
   return "姓名:" + name + " 年龄:" + age;
}

equals()

以下是网上截图,说的不错

image.png
image.png
image.png

重写hashCode() 和 equals()

是否问过自己,为什么要重写hashCode() 和 equals()?
确定两个对象是否相同,或者说,控制两个对象的比较

@Data
public class RankingVO {
    private Integer id = 1;
    private BigDecimal num;
    private String nickName;
    private String uuid;
    private Integer ranking;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof RankingVO)) return false;
        RankingVO rankingVO = (RankingVO) o;
        return Objects.equals(nickName, rankingVO.nickName) && Objects.equals(uuid, rankingVO.uuid);
    }

    @Override
    public int hashCode() {
        return Objects.hash(nickName, uuid);
    }
}
public Callable<ResponseEntity<ResponseData>> history(HttpServletRequest request) {
        Callable<ResponseEntity<ResponseData>> result = new Callable<ResponseEntity<ResponseData>>() {
      //参与了分发奖池的排名
      List<RankingVO> inPoolList = poolDetailService.queryByHistory(cycle);
            if (CollectionUtils.isEmpty(inPoolList)) {
                inPoolList = new ArrayList<>();
      }
      //..........

      //当前用户
      RankingVO currentRankingVO = new RankingVO();
      //.........
      //排名:只要nickName, uuid相等的,就视为相同,取其排序过的索引
      Integer i = inPoolList.indexOf(currentRankingVO);
      //.........
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354