Fórum Erro no instanceof do código #470977

23/02/2014

0

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

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

Gustavo Medeiros

Responder

Posts

24/02/2014

Diogo Fernandes

Está correto em dar erro. Instance of é como se fosse "É UM". Dar erro porque Integer NÃO É UM String.
Responder

Gostei + 0

24/02/2014

Gustavo Medeiros

Então instanceof só retorna true? Se for false ele da erro direto na compilação?
Responder

Gostei + 0

24/02/2014

Diogo Fernandes

Não, acho que você não está sabendo o que é o instance of. Pesquise um pouco sobre ele.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar