eval : Java Glossary
©1996-2017 Roedy Green of Canadian Mind Products
In many languages you can take a dynamically created String such as 6*(4+6^2)-cos(20) and ask to have it
evaluated, as if it were a miniature computer program. The function to do this often
has a name such as eval. Java has no such function. What
can you do? Here are six different approaches:
- Compose a miniature Java program on the fly, one complete *.java file and invoke sun.tools.javac.Main
instead of execing javac.exe. Use Class.forName or reflection on to then execute the dynamically compiled
- Similar to the method above, but directly generate some byte codes for a
- Write a parser using one of the
compiler-compiler tools such as JavaCC.
- Use a different language that supports dynamic scripting that is compatible
with Java, e.g. BeanShell, Jpython or FESI.
- Use Java version 1.6 which has scripting.
- For simple applications, all you need is a Hashtable
that has lookup by String to give you a delegate object to execute some prewritten piece
Oracle’s Javadoc on javax.script
package : available: