Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro null

Estou com um erro no null

void mostraEmpregados(){
            for (int i = 0; i < this.empregados.length; i++) {
                if (i == null) continue;
                    System.out.println("Funcionario na posicao: " + i);
                    System.out.println("R$" + this.empregados[i].salario);
        }
     }

quando mando compilar, aparece esse erro :

javac Funcionario.ja va Funcionario.java:31: error: incomparable types: int and if (i == null) continue;

6 respostas
solução!

Valdeir,

Seu código está errado. você está verificando se a variável "i" é nulo. Acontece que esta variável é do tipo inteiro (int) e um int é um tipo de valor, ou seja, ele nunca terá valor null. Esse "valor" é usado com variáveis que representem objetos e variáveis de referência, como o String. Assim, o seu código deveria ser:

void mostraEmpregados(){
2.            for (int i = 0; i < this.empregados.length; i++) {
3.                if (this.empregados[i] == null) continue;
4.                    System.out.println("Funcionario na posicao: " + i);
5.                    System.out.println("R$" + this.empregados[i].salario);
6.        }
7.     }

Correto a correção do Sandro. Só complementando... Fazer a comparação utilizando a variável "i" não faz sentido pois o intuito da comparação nesse caso é verificar se caso o tipo array de empregados for igual a null não imprimir na tela, com isso só irá ser impresso na tela os índices do array que possuir valor. É isso ae galera vamos colando nossas dúvidas, resolvendo e comentado para que todos nós juntos consigamos aprender essa tecnologia fantástica. JAVA!

Correto a correção do Sandro. Só complementando... Fazer a comparação utilizando a variável "i" não faz sentido pois o intuito da comparação nesse caso é verificar se caso o tipo array de empregados for igual a null não imprimir na tela, com isso só irá ser impresso na tela os índices do array que possuir valor. É isso ae galera vamos colando nossas dúvidas, resolvendo e comentado para que todos nós juntos consigamos aprender essa tecnologia fantástica. JAVA!

Utilizei um if conforme mencionado pelo Sandro

if (this.empregados[i] == null) continue;

Olá Valdeir!

Conseguiu resolver seu problema?

Abraços!

Voce tem que verificar se a posição i no array é nulo, conforme indicado pelos colegas acima:

if(this.empregados[i] == null) continue

ou ainda numa solução mais elegante talvez

if(this.empregados[i] != null){
    //código aqui
    System.out.println("Funcionario na posicao: " + i);
    System.out.println("R$" + this.empregados[i].salario);
}