gpt4 book ai didi

java - Java 中的函数指针/委托(delegate)?

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:52 25 4
gpt4 key购买 nike

对于我的 Java 游戏服务器,我发送数据包的操作 ID,它基本上告诉服务器数据包的用途。我想将每个 Action ID(一个整数)映射到一个函数。有没有办法不用开关就可以做到这一点?

最佳答案

这个怎么样?

HashMap<Integer, Runnable> map = new HashMap<Integer, Runnable>();
map.put(Register.ID, new Runnable() {
public void run() { functionA(); }
});
map.put(NotifyMessage.ID, new Runnable() {
public void run() { functionB(); }
});
// ...
map.get(id).run();

(如果您需要传递一些参数,请使用具有合适参数的函数定义您自己的接口(interface),并使用它代替 Runnable)。

关于java - Java 中的函数指针/委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395816/

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