Em algumas situações pode ser necessário verificar se dois objetos são instâncias da mesma classe. Como a máquina virtual permite que classes diferentes tenham o mesmo nome (se estiverem em pacotes diferentes), a comparação não deve ser feita com base no nome das classes. Caso a comparação deva ser feita com base no nome da classe (por exemplo, para verificar se o objeto é da classe Foo), deve-se proceder como o exemplo a seguir:
if(obj.getClass() == this.getClassLoader().loadClass("com.bar.Foo")){ É importante notar que esta comparação funciona na maioria dos casos, já que a JVM normalmente usa o mesmo classloader para todas as classes de uma aplicação. No entanto, podem ocorrer problemas nos casos em que a classe seja:
Caso seja necessário verificar se dois objetos são instâncias da mesma classe, o código abaixo pode ser usado: if(a.getClass()
== b.getClass()){ |
