O que siginifica - Values[i] = Values[i] != -1?Values[i]:Constants.EMPTY;

2 respostas
C

Oi Pessoal

Alguém pode me dizer o que significa esse ponto de interrogação nesse código??

Values[i] = Values[i] != -1?Values[i]:Constants.EMPTY;

Valeu!! Eu tentei achar no Google sem sucesso… e como sou iniciante nunca tinha visto… :grin: :oops: :cry:

2 Respostas

J

Se não me engano isso ai é operador ternario…

É uma forma diferente de escrever um if else…

Ficaria mais ou menos assim:

if(values[i] != -1){
 values[i] = values[i];
}else{
 values[i] = Constatnts.EMPTY;
}

Me corrijam se eu estiver errado…

Abraço…

J

Exatamenteo o que o Jason disse, isso é um operador ternario, é apenas um atalho para um if-then-else.

Imagine que você tenha uma variavel String sinal; e uma variavel int numero; e quer atributo sinal = "negativo" se numero < 0, ou sinal = "positivo" caso contrario.

Você poderia fazer assim:

int numero = 10;
String sinal;

if(numero<0){
  sinal = "negativo";
} else {
  sinal = "positivo";
}

Ou usar um atalho com o operador ternario:

int numero = 10;
String sinal;

sinal = numero<0 ? "negativo" : "positivo";

Mais informações em:

http://en.wikipedia.org/wiki/%3F:

Criado 22 de fevereiro de 2008
Ultima resposta 22 de fev. de 2008
Respostas 2
Participantes 3