1

How could I write Java code that is executed like javascript code used together with the eval function?

What I would like to achieve would be something like this:

System.execute ("String str = \"test\"; System.out.println(str);");

which would print the word 'test'. (10x dehmann )

A code sample would help a lot.

4
  • It might just be me, but your question doesn't make a lot of sense. JavaScript is a Web Scripting language, where as java is run in the java framework. You can build java applets, but I don't think that's what you're referring to. Commented Feb 25, 2009 at 22:42
  • 1
    I'm guessing the reference to JavaScript was just an example of what he wants to achieve. Commented Feb 25, 2009 at 22:43
  • I think he wants something like: System.execute("String str(\"test\"); System.out.println(str);"); which would print the word 'test'. Commented Feb 25, 2009 at 23:42
  • possible duplicate of Is there an eval() function in Java? Commented Dec 10, 2014 at 13:10

4 Answers 4

4

Look into BeanShell or Groovy. Both will give you reasonable solutions--but those solutions rely on my interpretation of your problem, which may be flawed.

Sign up to request clarification or add additional context in comments.

Comments

1

I've used the JavaScript engine shipped with Java 6 and it works quite well. The performance of the engine is very very decent.

Check the page http://java.sun.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

Comments

1

I believe the compiler API is present in the current Java SE 6. See the javadoc.

See this blog post for details and an example.

Comments

0

For completeness sake, the Compiler API is coming in the next version of Java..

1 Comment

The Compiler API is in Java 6. It works but its ugly to use. However you can use BeanShell and JCI if you don't have Java 6.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.