Java中调用控制台方法的方法是什么?Java中有没有一种方法可以从控制台调用方法?
我知道可以使用args数组来获取输入文件的名称,例如args[0]
,但我不知道Java是否允许来自控制台的方法调用。
Java中调用控制台方法的方法是什么?Java中有没有一种方法可以从控制台调用方法?
我知道可以使用args数组来获取输入文件的名称,例如args[0]
,但我不知道Java是否允许来自控制台的方法调用。
那么,你可以使用反射,并将想要调用的方法的名称作为程序的参数之一,然后用它反射地调用它。
取决于你真正想做的事,你可能要考虑像BeanShell这将让你与Java从更简单的方法,BeanShell的控制台交互,前提是你的问题是“如何从一个控制台中使用Java? “而不是如何以编程方式做到这一点。
例如,来自BeanShell控制台,我可以做一些事情如下:
print(eval("Math.max(1,2)"));
而且它会产生2到我的控制台。
您还可以将beanshell.jar添加到您的应用程序类路径并以编程方式使用eval方法。
import bsh.Interpreter;
//...
Interpreter i = new Interpreter();
Integer r = (Integer) i.eval("Math.max(1,2)");
我正在考虑反思,但它只需要很多时间,特别是当你想要调用许多方法时,一个接一个地随机调用。 – FranXh
@ User1181847多少时间太多?当涉及到你的断言时,这一切都是相对的。 –
你只是想从命令行触发方法的执行还是有其他东西在后台运行?
如果还有别的东西,那么你需要考虑线程,否则你的应用程序将被阻塞在命令行上等待IO。
根据需要调用多少个方法以及您希望如何动态...您可以使用反射(它将类名称和方法名称作为参数并执行它们)。
这个不清楚;调用一个方法'int foo(float [] x,Bar b);'从控制台调用什么? –