对于我的Java游戏服务器,我发送数据包的Action ID,它基本上告诉服务器数据包的用途.我想将每个Action ID(一个整数)映射到一个函数.有没有办法不使用开关这样做?
这个如何?
HashMapmap = new HashMap (); map.put(Register.ID, new Runnable() { public void run() { functionA(); } }); map.put(NotifyMessage.ID, new Runnable() { public void run() { functionB(); } }); // ... map.get(id).run();
(如果需要传递一些参数,请使用具有合适参数的函数定义自己的接口,并使用该参数代替Runnable).