gpt4 book ai didi

java - 我应该如何在 Java 中实现字符串映射到方法?

转载 作者:行者123 更新时间:2023-11-30 07:38:16 25 4
gpt4 key购买 nike

我在我的类中有一个 XML 标记列表和每个标记的方法,将那个标记作为参数并执行它的工作。所以所有的方法都得到相同的输入,我想遍历标签列表,每次都调用适当的方法。

在 Python 中,我将字符串(标签名称)散列为 lambdas (self.methodName()),我想将其转换为 Java。

现在在 Java 中,我不能(?)制作这样的散列,甚至不能在 switch 语句(每个分支调用特定方法)中使用字符串(标记名称)。使用 10 个左右的后续 ifs 的可能性看起来非常丑陋,我正在寻找一种更好的编码方式。

最佳答案

通过实例化类并将它们保存(可能在散列中)将字符串映射到类实例。当然,所有类都必须实现相同的接口(interface)。

您会发现,如果您以这种方式编码,您的代码就会开始出现更好的结构——例如,您可能会发现,以前您可能使用 2、3 或 10 种类似的方法来完成略有不同的事情,现在事实上,您可以将数据传递到您的构造函数中,这样您就可以使用一个或两个不同的类来完成所有这些工作。

这个接口(interface)和实现它的类(至少对我而言)几乎总是演化成我一直需要的功能齐全的类集,否则可能无法识别。

不知何故,我似乎从不后悔以“困难”的方式编写代码,但当我选择更简单的方式时几乎总是后悔。

关于java - 我应该如何在 Java 中实现字符串映射到方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com