Erro no instanceof do código
Boa tarde pessoal, estou aprendendo essa parte do java. Na parte inicial, com os operadores de comparação e estou usando o instanceof mas ele está dando erro não sei porque, acho que estou fazendo algo errado... Mas assim, ta ai o código
Eu tenho um tipo primitivo int, o dd2 e converti ele para um objeto para o instanceof poder comparar, quando coloco na comparação Object ou Integer ele faz a comparação normalmente, compila sem erro e retorna um valor boolenano true mas quando faço dd instanceof Byte ou qualquer outra classe Wrapper ele dá erro direto na compilação. De tipo incompativel, mas não sei é erro meu. Estou querendo que ele retorne o valor false, mas se fizer qualquer alteração, botar uma string e compara com um integer ele da erro
public class Ex1Primo {
public static void main(String[] args) {
int dd2 = 12;
Integer dd = dd2;
System.out.println(dd instanceof Object);
}
}
Eu tenho um tipo primitivo int, o dd2 e converti ele para um objeto para o instanceof poder comparar, quando coloco na comparação Object ou Integer ele faz a comparação normalmente, compila sem erro e retorna um valor boolenano true mas quando faço dd instanceof Byte ou qualquer outra classe Wrapper ele dá erro direto na compilação. De tipo incompativel, mas não sei é erro meu. Estou querendo que ele retorne o valor false, mas se fizer qualquer alteração, botar uma string e compara com um integer ele da erro
Ex1Primo.java:9: error: inconvertible types
System.out.println(dd instanceof String);
^
required: String
found: Integer
1 error
Gustavo Medeiros
Curtidas 0
Respostas
Diogo Fernandes
23/02/2014
Está correto em dar erro. Instance of é como se fosse "É UM". Dar erro porque Integer NÃO É UM String.
GOSTEI 0
Gustavo Medeiros
23/02/2014
Então instanceof só retorna true? Se for false ele da erro direto na compilação?
GOSTEI 0
Diogo Fernandes
23/02/2014
Não, acho que você não está sabendo o que é o instance of. Pesquise um pouco sobre ele.
GOSTEI 0