Dúvida Básica

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

Beleza.
Obrigado

é 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.