Usar operador do if dentro de uma string

Pessoal, preciso tirar uma dúvida.

É possível executar um if else, com o operador matemático dentro de uma string?

Exemplo:

String igual = "==";
int valor1 = 4;
int valor2 =2;
if(valor1 igual valor2){
out.println("igual");
}

Desta maneira do exemplo não funciona, existe outra maneira.

Como você mesmo notou, isso não funciona. Então, o que você quer fazer exatamente? O que espera obter? Digamos seu objetivo para sugerirmos alternativas.

Abraço.

É que gravei os operadores e valores em várias condições diferentes no banco de dados para utiliza-los em comparações, mas não testei antes, e agora me deparei com esse problema.

Interessante a lógica de salvar um operador relacional (igual a) numa String, mas realmente isso não funciona. :sweat:

Ok, valeu pessoal. É nos erros que se aprende.

1 curtida

Dependendo do que você quer resolver com esta abordagem, você pode utilizar um switch.

Tenho uma tabela com vários status e cada um tem sua condição e quem faz a condição é a própria pessoa.

String operador1 = ">";
String operador2 = "<";
 int valor1 = 90;
 int valor2 =30;
 int valor3 =20;
 String cor1 = "green"
 String cor2 = "yellow"
 if(valor1 operador1 valor2 && valor2 operador2 valor3 ){
    out.println(cor1);
 }else{
    out.println(cor2);
 }

Você pode implementar um padrão Builder para realizar cálculos.
Aí não precisa quebrar a cabeça para tratar expressões dentro de Strings.