• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

用户头像
it1352
帮助1

问题说明

如果我在哈希表中将函数名称存储为字符串.
是否可以通过存储的字符串访问函数?

If I have function names stored as strings in a Hashtable.
Is there a way to access the functions via the stored strings?

编辑 恐怕我在CLDC1.1/MIDP2.0上使用的平台不支持Reflection.
有什么解决方法?

EDIT I'm afraid the platform that i'm working on CLDC1.1/MIDP2.0 does not support Reflection.
Any workaround possible?

正确答案

#1

只需使用一长串else-if:

Just use a big long list of else-ifs:

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

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

(Although I generally don't like attempting vertical alignments in source, I think in cases like this it is well worth it.)

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

Storing a functor in the map is an alternative, bu might increase object size too much for many MIDP applications.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcfgija
系列文章
更多 icon
同类精品
更多 icon
继续加载