Operador Ternário

Galera, alguém sabe se tem como no valor de retorno do operador ternário, o programa executar algum método, incrementar alguma variável, ou algo assim._
Obrigado._

Como assim valor de retorno? O operador ternario funiona assim:

(comparacao)?(expressao1):(expressao2)

Se a comparação for verdadeira, ele executa a expressão1 senão ele executa expressão2.
Abraço.

claro que sim! hehe

i > 1? item.addCart() : item.removeCart()

ele tem a função semelhante do if else… vc pode chamar ali o que quiser em caso de true ou false…

Muitas empresas usam aquelas ferramentas de revisão de código (PMD, CheckStyle) e desaconselham o uso do operador ternário, que normalmente torna seu código mais obscuro, a menos que você saiba o que está fazendo (e como normalmente as pessoas não sabem o que estão fazendo…)

boolean golMil = nGols == 1000 ? true : false;

O correto é usar:

boolean golMil = (nGols == 1000);

Eu já vi situações parecidas algo do tipo

String nome = param == null? null : param;

Só se for para a legibilidade do código, porque isso da a impressão que o cara não manja muito de lógica!

Legibilidade? Acho que isso é só para fazer uma “magia negra” no código (sabe como é que é…) E se bobear acaba sendo implementado errado:

 String nome = param == null? param : null;

[quote=thiago.correa]Eu já vi situações parecidas algo do tipo

String nome = param == null? null : param;

Só se for para a legibilidade do código, porque isso da a impressão que o cara não manja muito de lógica![/quote]

Mas com uma pequena alteração essa construção pode se tornar muito util:

String nome = obj == null? null : obj.getProp(); :smiley:

[quote=francislon]Como assim valor de retorno? O operador ternario funiona assim:

(comparacao)?(expressao1):(expressao2)

Se a comparação for verdadeira, ele executa a expressão1 senão ele executa expressão2.
Abraço.[/quote]
Agora sim consegui entender esse operador ternario :thumbup: valeu