If ternario

Galera me deu um branco no if ternario rsrsrs… Como ficaria isso usando o ternario?

usuario.getPerfil() == "A" ? usuario.setPerfil("Administrador") : usuario.setPerfil("Padrão");

[quote=caiomacedor]Galera me deu um branco no if ternario rsrsrs… Como ficaria isso usando o ternario?

usuario.getPerfil() == "A" ? usuario.setPerfil("Administrador") : usuario.setPerfil("Padrão");

Desse jeito mesmo, só utilizando equals

usuario.getPerfil.equals("A") ? usuario.setPerfil("Administrador") : usuario.setPerfil("Padrão");

ou então talvez assim

String perfil = usuario.getPerfil(); String novoPerfil = null; perfil.equals("A")? novoPerfil="Administrador" : novoPerfil="Padrão"; usuario.setPerfil(novoPerfil);

//se o retorno do getPerfil() for String:
 usuario.setPerfil(usuario.getPerfil().equalsIgnoreCase("a") ? "Administrador" : "Padrão");

abraços

1 curtida

Clarou a mente com a idéia do mano acima ai fiz assim.

String dsPerfil = usuario.getPerfil().equalsIgnoreCase("A") ? "Administrador" : "Padrão"; usuario.setPerfil(dsPerfil);

  1. Não confunda um operador ternário com um if. Esse código trata-se de um operador matemático, com um condicional. Em alguns casos, ambos podem ter comportamento um pouco diferente. Lembrando também que o ternário sempre deve retornar valor, e o valor será sempre do mesmo tipo, para ambos os lados da expressão.

  2. Não duplique tópicos! Crie apenas um tópico no GUJ para suas dúvidas.

Esse aqui, você criou duplicado:
http://www.guj.com.br/posts/list/124465.java

Assim, evita que pessoas percam tempo respondendo a sua dúvida já resolvida, facilita para você mesmo acompanhar as soluções. Se ninguém está respondendo, procure descrever melhor sua dúvida, ao invés de criar um tópico novo.