Boa tarde pessoal!
Estive vendo em um construtor de uma classe a atribuição de valores para uns atributos desta forma:
this.firstName = firstName == null ? "" : firstName;
Minha dúvida é: o que significa este trecho do código : firstName == null ? "" : firstName;
?
[]'s
Esse trecho siginifica se a comparação firstName == null
for verdadeira receberá o valor “”, caso seja falso recebera o valor da variavel firstName
Chama-se Operador Ternário.
É um if diferente…
Condição ? true : false;
É meio mau visto em certos locais de trabalho. Dizem que o código ganha uma complexidade de visualização maior.
Eu estou acostumado. Só não gosto de coisas do tipo:
Condição 1 ? (condição 2 ? (condição 3 ? true : false): false) : false
LPJava
Novembro 6, 2007, 2:29pm
#5
é o teste do if.
if(firstName == null)
//....
Boa tarde, este operador ? é o operador ternário existente em java,c++, etc
Funciona da seguinte forma:
String a= (i>0) ? "T" : "F";
if a condição ( i > 0) então a=“T”, senão a=“F”
Espero ter ajudado
Att.