public boolean equals(Object p) {
return this.company.equals(((PhoneNum)p).getCompany());
}
this:当前类的对象
this.company:这个类的声明的那个company变量
this.company.equals(xxx):company 和xxx比较,是否一致,其中xxx在此处为 ((PhoneNum)p).getCompany());
(PhoneNum)p:将p对象的类型强转为PhoneNum(可能p中没有getCompany()方法)
((PhoneNum)p).getCompany()):强转之后,调用getCompany()方法,获取Company对象
完成两个Company之间的比较。
这个就是比较这个对象的company属性的值是不是相等,但是这个会有一个问题,就是没有判断p的类型就直接强转类型,可能会报错,建议参考一下string类里面的equals方法