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

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:

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…

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:

[code]int numero = 10;
String sinal;

if(numero<0){
sinal = “negativo”;
} else {
sinal = “positivo”;
}[/code]

Ou usar um atalho com o operador ternario:

[code]int numero = 10;
String sinal;

sinal = numero<0 ? “negativo” : “positivo”;[/code]

Mais informações em: