Boa noite,
Alguém sabe me explicar o motivo porque não posso fazer a compração abaixo?
String str = ?string?;
str instanceof String;
Retorna true.
Boa noite,
Alguém sabe me explicar o motivo porque não posso fazer a compração abaixo?
String str = ?string?;
str instanceof String;
Retorna true.
Olá Amigo!
Operador instanceof, sempre irá de baixo para cima na arvore de herança. O fato de ele não ir no sentido contrario é questao de logica por exemplo o codigo abaixo:
public class Animal{}
public class Dog extends Animal{}
public class TestInstanceof {
public static void main(String []args){
Animal animal = new Animal ();
Dog dog = new Dog ();
if (dog instance of Animal){} // retornará true, porque Dog é um animal
if (animal instance of Dog){}// retornará false, porque nem todo animal é um cachorro.
O segundo if retorna false porque nem todo animal é um cachorro. Animal pode ser gato, elefante, etc. A mesma ferrari é um carro, mas nem todo carro é uma ferrari.
Espero ter ajudado,
Abraços
Perdao amigo,
interpretei a sua pergunta mal.
seu codigo nao compila
porque vc colocou
String str = ?string?;
ao inves String str = “string”;