Código reduzido de if, else, for

3 respostas
D

Olá pessoal…
Eu vi uma vez formas diferentes de escrever if/else for, com nº de linhas bem reduzido…
Procurei no google e o que achei foi:

x?jrbAtivo.setSelected(true):jrbAtivo.setSelected(false);

Mas não tá dando…

Alguém sabe como são?

3 Respostas

rogelgarcia

Esse é o operador ternário…

A sintaxe é assim:

expressao booleana? resultado true : resultado false

Exemplo:

i < 3? "Menor": "Maior ou igual"

O resultado true e resultado false, devem ser um objeto…

Não podem ser uma chamada de método com tipo de retorno void… nesse caso… tem que usar o if/else mesmo

Você poderia até chamar um método, mas se ele retornar um objeto, exemplo:

x == y? obj.getValor() : obj.getValorTotal()

Imagine que toda essa expressão é apenas um valor… que será atribuido em algum lugar…

Exemplos:

String valor = x == y? obj.getValor() : obj.getValorTotal(); //atribuindo a uma variável

A mesma coisa do exemplo anterio, com parênteses para facilitar o entendimento:

String valor = (x == y? obj.getValor() : obj.getValorTotal()); //atribuindo a uma variável

ou

return x == y? obj.getValor() : obj.getValorTotal();  //usando no retorno de um método
D

Rogelll…
:smiley: Obrigadãããão!!!
Obrigada por toda a sua ajuda! Valeu mesmo!:slight_smile:

rogelgarcia

Heheh…

às ordens…

Criado 27 de maio de 2010
Ultima resposta 27 de mai. de 2010
Respostas 3
Participantes 2