在python中,如果我有一些要基于输入调用的函数,则可以执行以下操作:
lookup = {'function1':function1, 'function2':function2, 'function3':function3}
lookup[input]()
那就是我有一个映射到函数的函数名字典,并通过字典查找来调用函数。
如何在Java中执行此操作?
有几种方法可以解决此问题。其中大多数已发布:
我个人将使用Command方法。命令与模板方法很好地结合在一起,使您可以在所有命令对象上强制执行某些模式。例:
public abstract class Command {
public final Object execute(Map<String, Object> args) {
// do permission checking here or transaction management
Object retval = doExecute(args);
// do logging, cleanup, caching, etc here
return retval;
}
// subclasses override this to do the real work
protected abstract Object doExecute(Map<String, Object> args);
}
仅当您需要对那些您无法控制其设计,并且对于它们执行命令并不实际的类使用这种映射时,我才求助于反射。例如,您无法通过为每种方法创建命令来在命令外壳中公开Java
API。
问题内容: 我正在将PHP代码迁移到Google App Engine-Java。 因此,我需要使用Java中的PHP的crypt函数, 因为我已经 使用crypt 将注册用户的所有密码存储在数据库中。 编辑1 :这是我的php密码加密代码: $ password =“ test123”; $ pwd = crypt($ password,$ password); 回声$ pwd; 输出为(在 W
问题内容: 我正在自学python 2.7。我在使用具有GOTO语句的BATCH方面有一些经验。我该如何在python中做到这一点?例如,假设我想从第5行跳到第18行。 我意识到以前有关于此主题的问题,但是我发现它们没有足够的信息,或者对于我目前的理解而言,在python中的水平太高了。 问题答案: s在计算机科学和编程中普遍受到指责,因为它们会导致非常非结构化的代码。 Python(像当今几乎所
我尝试运行以下代码。 为什么地图功能会打印
问题内容: 我正在尝试将查询从MySQL移植到SQL SERVER2012。 如何为MySQL的substring_index()编写等效项? MySQL SUBSTRING_INDEX()从给定字符串中返回指定次数的分隔符之前的子字符串。 SUBSTRING_INDEX(str,delim,count) 输出: 问题答案: 尝试基于T-SQL和XQuery()的以下解决方案: T-SQL标量函数
问题内容: 我知道(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我Python 的等效功能吗? 问题答案: 在块内执行此操作时,它将自动使用当前异常。有关更多信息,请参见http://docs.python.org/library/traceback.html。
问题内容: 我想要一个模仿python .format()函数的javascript函数,其功能类似于 前面的问题为’.format(* args)提供了一种可能的(但不完整的)解决方案 相当于printf / string.format的JavaScript 我想能够做 我意识到这是一个艰巨的任务,但是也许在某个地方有一个完整的(或至少是部分的)解决方案,其中也包含关键字参数。 哦,我听说AJA