Operador Ternário

8 respostas
anderline

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

8 Respostas

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.

D

claro que sim! hehe

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

LPJava

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

T

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);
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!

T

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;
gomesrod

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!

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

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

kaizerslawten

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.


Agora sim consegui entender esse operador ternario :thumbup: valeu

Criado 27 de junho de 2007
Ultima resposta 30 de nov. de 2011
Respostas 8
Participantes 8