EVAL() - em java

6 respostas
V

Por favor,

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

Obrigado

6 Respostas

T

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.*

P

Nenhuma.

L

Valmir Aureliano:
Por favor,

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

Obrigado

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.

L

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.

T

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.

N
//		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){
	    	
  }
Criado 15 de junho de 2005
Ultima resposta 11 de mai. de 2014
Respostas 6
Participantes 6