当我使用这个顺序时,代码中literaryTypeID是String类型使用equals是有一些提示。
然后 使用时会让我让3作为调用方,literaryTypeID作为被调用方。
为什么要这样呢?
答:equals方法在Object抽象类中比较的是两个对象的引用地址是否相同,然而在String类型中,equals方法被重写了。因此String类型中的equals方法是比较当前字符串与传进来的字符串是否相同。
如果将对象放在前面,调用equals方法时,若对象为空,会报空指针异常;
但若是将字符串放在前面,也就是相当于判断这个字符串的值,即使它为空,也不会报错。因此可以总结为:报不报错主要看调用equals的对象是否为空。