用户输入的Java运行方法
我希望有一个文本字段,并运行用户输入的任何内容。所以如果用户输入,
aPackage.AClass.aMethod(parms)
,它将在包、类和参数中运行该方法。这可能吗?
我希望这样做的原因是,我可以调试我的代码,将程序置于“开发人员模式”,并能够执行任何命令
你可以在下面搜索框中键入要查询的问题!
我希望有一个文本字段,并运行用户输入的任何内容。所以如果用户输入,
aPackage.AClass.aMethod(parms)
,它将在包、类和参数中运行该方法。这可能吗?
我希望这样做的原因是,我可以调试我的代码,将程序置于“开发人员模式”,并能够执行任何命令
# 1 楼答案
如果您知道classname、methodname、input params类型,那么使用反射就可以实现这一点。下面是一个小代码片段:
# 2 楼答案
是的,这是可能的。使用Java反射API(tutorial on docs.oracle.com),可以按名称访问类及其方法。如果不知道参数的类型是重载方法,则可能会出现问题。请注意,让用户执行随机代码是一个潜在的安全问题