我有swing
class
JTextArea
,用于编写一些java
代码。从swing
class
我调用其他class(say X)
中的方法,该方法返回一些值。说,
X x = new X();
int result[] = x.getResult(int p[]);
此X class
需要存在于同一目录中,否则我的代码无法编译。所以我创建一个X class
并创建一个返回空数组的函数getResult
。该方法在运行时由用户(在TextArea
中)实现。
在将ProcessBuilder
的内容写入该文件后,我可以使用TextArea
在运行时编译该类。问题是这样的 - 当我在我的IDE(IntelliJ Idea)中运行代码时,该函数返回应该返回的正确值,因为文件被覆盖时因为用户代码。但是当我将项目打包在jar中时,它只返回空数组。新代码写入同一目录中的文件,但它采用初始函数给出的值(可能包含在jar文件中)。
我如何获得正确的返回值?