Java 尝试获取所有缓存

发布于 2024-11-08 19:57:00 字数 496 浏览 0 评论 0原文

我在我的小游戏中缓存了一些特定的玩家,现在在我的运行方法中,我想检查每个被缓存的玩家并给他们奖励,插入 getAllplayersOnline 并检查他们是否在那个特定的地图中,我只是缓存了输入的玩家那张地图。

public static HashMap<Integer,MapleCharacter> fishlist = 
               new HashMap<Integer,MapleCharacter>();

然后我

fishlist.put(chr.getId(), chr);

现在将其放入我尝试过的运行方法中,

                 if(UseChairHandler.fishlist.containsKey(chr.getId())) {
//do stuff

但它不起作用......有什么想法吗?

I'm caching some certain players on my little game and now in my run method I want to check everyone who is cached and give them their reward, insted of getAllplayersOnline and check if they are in that certain map, I just cached the ones enter that map.

public static HashMap<Integer,MapleCharacter> fishlist = 
               new HashMap<Integer,MapleCharacter>();

Then I put

fishlist.put(chr.getId(), chr);

now in my run method i tried

                 if(UseChairHandler.fishlist.containsKey(chr.getId())) {
//do stuff

but it didn't work...any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮萍、无处依 2024-11-15 19:57:00

条目集允许您循环遍历整个地图

for(Map.Entry<Integer,MapleCharacter> entry:fishlist.entrySet() ){
    //entry.value() is a MapleCharacter in the map
}

the entryset allows you to loop over the entire map

for(Map.Entry<Integer,MapleCharacter> entry:fishlist.entrySet() ){
    //entry.value() is a MapleCharacter in the map
}
无法回应 2024-11-15 19:57:00

添加更多调试输出。 System.err.println(fishlist) 可以创造奇迹。
chr.getId() 是否始终返回正确的 ID?
此外,如果您的游戏是多线程的,如果您没有正确同步对地图的访问,您将会遇到问题。

Add more debug output. A System.err.println(fishlist) can do wonders.
Is chr.getId() always returning the correct ID?
Also, if your game is multi-threaded, you will run into problems if you don't properly synchronize access to the map.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文