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();
[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