按类型或类名比较两个类
有必要根据两个对象实现的类来比较它们吗?何时比较使用和何时使用?这种比较两个对象类类型(名称)的方法之间有什么区别吗?getClass()
getClass().getName()
public abstract class Monster { ... }
public class MonsterTypeOne extends Monster { ... }
public class MonsterTypeTwo extends Monster { ... }
Monster monster = MonsterTypeOne();
Monster nextMonster = MonsterTypeTwo();
if(nextMonster.getClass().getName().equals(monster.getClass().getName()) )// #1
if(nextMonster.getClass().equals(monster.getClass()) )// #2
编辑 1
怎么样:?
nextMonster.getClass().equals(MonsterTypeOne.class)