Dúvida, Algo do tipo "Variável recebendo um operador" !?

Me deparei com a seguinte situação exemplo:


                boolean condicao = true;
		
		if(condicao)
		{
			if(1 > 2)
			{
				//...
			}
		}
		else
		{
			if(1 < 2)
			{
				//...
			}
		}

Até ai blz, mas aí surgiu uma dúvida onde para mim se existisse, iria resumir esse código muito bem:

                boolean condicao = true;
		
		if(1 ((condicao) ? > : <) 2)
		{
			//.....
		}

sei que este código não existe, algo do tipo uma variável recebendo um operador hehe, mas existe algo no java parecido com isso que resumiria o primeiro código citado?
não sei se to pirando muito ahahh.

Veja se desta forma resume o código como você quer:

boolean condicao = true;
if(condicao ? (1>2) : (1<2)){
   //...
}

[quote=al.barbosa]Veja se desta forma resume o código como você quer:

boolean condicao = true;
if(condicao ? (1>2) : (1<2)){
   //...
}

[/quote]

Sim isso resume, na verdade foi um código exemplo né, digamos que os valores 1 ou 2 viriam de objetos com vários getters, fircaria uma condição extensa em uma linha.
A dúvida mesmo seria uma condição onde definiria qual operador utilizar dentro de outra condição, se é que me entende? ehhe
é uma dúvida que praticamente sei que a resposta: “não existe isso”, seria mais como uma idéia que para mim iria facilitar, não sei se você concorda comigo?

Você pode fazer isso com interfaces e usando o padrão Strategy. É rebuscado, mas se sua condição fosse mais complexa, talvez valesse a pena.
Veja:

[code]public interface Comparison {
boolean compare(int obj1, int obj2);
}

public class Less implements Comparison {
@Override
public boolean compare(int obj1, int obj2) {
return obj1 < obj2;
}
}

public class More implements Comparison {
@Override
public boolean compare(int obj1, int obj2) {
return obj1 > obj2;
}
}
[/code]

O código ficaria assim:

boolean condicao = true;  
Comparison c = condicao ? new More() : new Less();
if(c.compare(1,2)) {  
       //...  
}