在Java中将函数列为选项
我是Java新手,所以我的问题看起来很简单。但我需要你们的指导 这里是我的问题:我有一个类和一堆方法,我想让用户在combox中选择这些方法,根据他们的选择,一些代码将运行。现在我可以通过编写开关选择方法来实现这一点。其中,基于选择,我使用开关来运行特定的方法 但是我的函数列表很长,接近200个,所以我想问你的问题是:有没有更聪明的方法来实现这一点。 只要给我指一个正确的方向,剩下的我会尽力去做。你可以使用,特别是:或在Java中将函数列为选项,java,Java,我是Java新手,所以我的问题看起来很简单。但我需要你们的指导 这里是我的问题:我有一个类和一堆方法,我想让用户在combox中选择这些方法,根据他们的选择,一些代码将运行。现在我可以通过编写开关选择方法来实现这一点。其中,基于选择,我使用开关来运行特定的方法 但是我的函数列表很长,接近200个,所以我想问你的问题是:有没有更聪明的方法来实现这一点。 只要给我指一个正确的方向,剩下的我会尽力去做。你可以使用,特别是:或 如果您不了解它们之间的差异,请确保您了解它们之间的差异(请阅读链接的java
如果您不了解它们之间的差异,请确保您了解它们之间的差异(请阅读链接的javadocs),不要害怕询问。我认为研究Java反射是最好的开始,假设我已经正确理解了您想要做的事。您可以使用反射来列出方法和调用它们
你可以使用反射(你可以在谷歌上找到很多信息),但简单地向用户展示你的方法并不是一个好的做法。在更复杂的应用程序中,您应该尝试将用户所需内容的表示和实际执行分开每个选择都可以由一个枚举表示,该枚举构建为一组函数指针:
public enum FunctionPointer {
F1 {
public SomeObject doFunction(args) {
YourClass.doMethod(args);
}
},
//More enum values here...
}
语法需要做一些工作,但是在客户端,您可以调用
FunctionPointer.F1.doFunction("abc");
这与你的switch语句并没有什么不同,但我不喜欢思考那些没有它也可以完成的事情。