EVAL() - em java

Por favor,

Alguém sabe qual é a função em Java semelhante a função eval() do javascript???

Obrigado

Não existe um equivalente perfeito ao eval, mas você pode tentar incorporar o BeanShell ao seu programa e ter um equivalente quase perfeito.

http://www.beanshell.org/

EDIT - Não sei se no Mustang (JDK 6.0) ou no seu sucessor (não lembro mais qual é o animal) o BeanShell será incorporado, para ter uma implementação exemplo do pacote javax.script.*

Nenhuma.

[quote=Valmir Aureliano]Por favor,

Alguém sabe qual é a função em Java semelhante a função eval() do javascript???

Obrigado[/quote]

Seguinte

eval em JavaScript tem várias aplicações, por exemplo, você pode passar uma string e ele retorna um valor numerico, apesar de não ser tipado.

outra aplicação é vc passa uma string contendo um método a ser executado.

vc passa uma string com o nome de um determinado “objeto”, e ele retorna esse “objeto”.

Depende do que vc quer fazer em java.

Agora de cara, ponha na cabeça, além da sintaxe parecida, JavaScript não tem nada que ver com Java.

Para expressões matemáticas, existe bibliotecas que podem ser usadas para isso, já para um método, como o Luiz disse, com reflection (e - IMHO - muito codigo feio) é possivel.

Como já lhe disse, use o BeanShell.

http://www.beanshell.org/manual/embeddedmode.html#eval()

tem um exemplo do “eval” para Java, que é o que você queria.

//		Utilizando Javascript para executar calculos
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
  try{
    String conta = "3+1";
    System.out.println("Resultado de "+conta+" = "+engine.eval(conta));
  }catch(Exception e){
	    	
  }