Operadores Terbnarios

4 respostas
I

O que siginifica o ? e : em java? Sei que seria um if e else, mas neste caso como ficaria?

Date saida = this.saida == null ? this.saida : new Date();
long tempoDecorrido = saida.getTime() - chegada.getTime();

4 Respostas

Lucas_Camara

Acho que você está trocando a saída do ternário. Deveria ser: se this.saida for igual a null, então retorne new Date(), senão retorne o próprio this.saida. Se não fizer assim, ocorrerá um NullPointerException na linha seguinte, ao executar: saida.getTime()

lvbarbosa

O par ? : forma o operador ternário, como você percebeu. A sintaxe é assim:

<condição> ? retornoCasoVerdadeiro : retornoCasoFalso

Ao invés de fazer isso:

boolean condicao = ...;
final int x; // declaração apenas, sem atribuição
if (condicao) {
    x = 1;
} else {
    x = 2;
}

Você pode fazer isso:

final int x = condicao ? 1 : 2;
I

nao o codigo esta funcionando pois a minha variavel saida esta criada caso ela seja nula recebe a data.

I

Obrigada pela informação era exatamente isso que estava querendo saber pois não lebrava como era a sintaxe

Criado 10 de junho de 2017
Ultima resposta 10 de jun. de 2017
Respostas 4
Participantes 3