DESKTOP-P665UA2_20200829-石家雨

1、问题

1、String类重写了equals方法,重写前比较的是对象在内存中的地址,重写后比较的是两个对象的内 容。

重写前:

public static void main(String[] args) {
        String str1 = new String("str1");
        String str2 = new String("str1");//这是两个不同的对象,存放在堆中不同的位置
        System.out.println(str1.equals(str2));//true,String类重写了equals方法
        System.out.println(str1==str2);//false
    
        Person p1 = new Person(1);
        Person p2 = new Person(1);
        System.out.println(p1.equals(p2));//false,没有重写equals方法,所以调用的是                                            0Object中的equals方法
        System.out.println(p1 == p2);//false

重写后:

@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
 
        Person person = (Person) o;
 
        return age.equals(person.age);//重写后是按属性比较
 
    }
 @Override
    public int hashCode() {
        return age.hashCode();
    }

    Person p1 = new Person(1);
    Person p2 = new Person(1);
    System.out.println(p1.equals(p2));//true,重写后是按属性比较
    System.out.println(p1 == p2);//false

2、试卷中中的程序设计题,计算字符串所有碎片的平均长度没有思路,不知道怎么写

2、吐槽

今天的考试有点问题的地方都是之前考过的知识点,还是没有掌握好,还有简答题答得也不是很好。

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1