相关疑难解决方法(0)

Java中是否有eval()函数?

我有一个像下面这样的字符串:

String str = "4*5";
Run Code Online (Sandbox Code Playgroud)

现在我必须20通过使用字符串来获得结果.

我知道在其他一些语言中,这个eval()功能会做到这一点.我怎么能用Java做到这一点?

java eval

140
推荐指数
8
解决办法
15万
查看次数

如何以编程方式编译和实例化Java类?

我将类名存储在属性文件中.我知道类存储将实现IDynamicLoad.如何动态实例化该类?

现在我有

     Properties foo = new Properties();
    foo.load(new FileInputStream(new File("ClassName.properties")));
    String class_name = foo.getProperty("class","DefaultClass");
    //IDynamicLoad newClass = Class.forName(class_name).newInstance();
Run Code Online (Sandbox Code Playgroud)

newInstance只加载编译的.class文件吗?如何加载未编译的Java类?

java reflection dynamic-loading

64
推荐指数
3
解决办法
5万
查看次数

如何动态编译和加载外部java类?

(这个问题类似于我看过的很多问题,但大多数问题对我正在做的事情都不够具体)

背景:

我的程序的目的是让使用我的程序的人轻松制作自定义"插件",然后编译并加载到程序中以供使用(与我的程序中实现的不完整,慢速解析器相比).我的程序允许用户将代码输入到预定义的类中,该类扩展了与我的程序一起打包的编译类.他们将代码输入到文本窗格中,然后我的程序将代码复制到被覆盖的方法中.然后将其保存为.java文件(几乎)为编译器准备好了.该程序运行javac(java编译器),并将保存的.java文件作为输入.

我的问题是,我如何得到它,以便客户端(使用我的编译程序)将这个java文件(扩展我的InterfaceExample)保存在他们的计算机上的任何地方,让我的程序编译它(不说"找不到符号:InterfaceExample" )然后加载它并调用doSomething()方法?

我一直在看Q&A使用的是反射或ClassLoader,几乎描述了如何编译它,但没有一个对我来说足够详细/我完全不理解它们.

java load compilation external dynamic

42
推荐指数
2
解决办法
4万
查看次数

如何在运行时编译和部署java类?

我正在编写一个规则引擎,它执行由条件结构确定的简单赋值.规则是XML格式的项目的先决条件.我已经将我的XML模式建模为类似于简单的代码块.我希望解析XML,然后将其转换为Java代码.然后,我希望在运行时编译(并运行)此代码.这样做意味着我的规则引擎不再充当解释器,而是执行本机Java字节代码.

我已经找到了解析阶段和或多或少的Java代码生成阶段.我现在想弄清楚最后阶段 - 运行阶段的编译.

遵循这个线程:编译为java字节码(不使用Java)我已经意识到以下可能的解决方案:

我希望能比较这些以及在运行阶段解决Java编译的其他建议.

java runtime compilation

19
推荐指数
2
解决办法
3万
查看次数

在运行时生成,编译和使用Java代码?

我有一个场景,我必须在我的应用程序运行时生成Java代码.

可以编译和运行来自我的应用程序的代码(作为单独的应用程序).

是否可以编译然后从同一个应用程序中使用它.不能想到任何可能性

java compilation

7
推荐指数
3
解决办法
8222
查看次数

什么是Python的subprocess.Popen()的Java等价物?

import subprocess
import os

prefix = os.path.expanduser("~/.bin/kb/")
p = subprocess.Popen([(prefix + "koreball"),(prefix + "/data"),'3'])
Run Code Online (Sandbox Code Playgroud)

python java subprocess

3
推荐指数
1
解决办法
2047
查看次数