当前位置: 首页 > 面试题库 >

通过存储在哈希表中的字符串访问函数

管翼
2023-03-14
问题内容

如果我将函数名称存储为字符串在Hashtable中。
有没有办法通过存储的字符串访问函数?

编辑恐怕我在CLDC1.1 / MIDP2.0上工作的平台不支持反射。
有什么解决方法?


问题答案:

只需使用一长串else-ifs:

[...]
} else if ("foo".equals(function)) {
    target. foo();
} else if ("bar".equals(function)) {
    target. bar();
[...]

(尽管我通常不喜欢尝试在源代码中进行垂直对齐,但我认为在这种情况下这样做是值得的。)

在映射中存储函子是一种替代方法,对于许多MIDP应用程序,bu可能会增加对象大小。



 类似资料:
  • 例如,我有照片、公司、汽车等实体。我知道它们有同名的列,我可以通过QueryBuilder访问它们。我不知道我将处理哪个存储库,但它像字符串参数一样传递给我的函数。这样地: 事实上,我想检查用户是否可以通过单独的函数访问给定ID的实体,而不是绑定到一个实体。 是否可以仅通过字符串初始化TypeORM中实体的存储库或QueryBuilder?

  • 问题内容: 我有一个要哈希的字符串。在node.js中生成哈希的最简单方法是什么? 哈希用于版本控制,而非安全性。 问题答案: 看看crypto.createHash(algorithm)

  • 问题内容: 我正在尝试使用字符串数组从XML获取资源,因为它当前处于循环中。 谁能建议我该怎么做? 为了清楚起见,资源名称与数组字符串名称相同。 到目前为止,我已经尝试过: 问题答案: 我没有误会你 是你所需要的

  • 问题内容: 我在Redis中存储MessagePacked哈希时遇到问题。我在下面粘贴了一个测试用例。从Redis中提取打包数据并对其进行解压缩时,哈希会略有损坏。当哈希值超出一定长度时,似乎会发生这种情况,尽管我不能肯定地说。 我正在使用Redis 2.4.17(默认配置),Ruby 1.9.3p194,MessagePack 0.4.7和Redis gem 3.0.2。使用节点也会发生相同的问

  • 问题内容: 您如何将任意字符串转换为唯一的整数,这在Python会话和平台之间是相同的?例如,由于每个Python会话和平台均返回不同的值,因此无法使用。 问题答案: 如果哈希函数确实不适合您,则可以将字符串转换为数字。 通过将每个三元组映射到,这是可逆的。

  • 给定两个字符串,比如hashKey和hashVal,我将这两个字符串添加到一个hash对象中。在本例中,hashVal是一个表示整数的字符串,因此我在将其存储到表中之前将其解析为整数。 现在问题来了。存储在哈希表中的值实际上是一个int32对象,这使得后面使用内部表达式很麻烦。经过长时间的查找,我无法找到一种简单的方法来存储实际的int或提取存储为int而不是int32对象的值。 下面是我尝试做的