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();
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();
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()
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;
nao o codigo esta funcionando pois a minha variavel saida esta criada caso ela seja nula recebe a data.
Obrigada pela informação era exatamente isso que estava querendo saber pois não lebrava como era a sintaxe