如果我在哈希表中将函数名称存储为字符串. 是否可以通过存储的字符串访问函数?
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?
推荐答案只需使用一长串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.
更多推荐
通过存储在哈希表中的字符串访问函数
发布评论