Java 尝试获取所有缓存
我在我的小游戏中缓存了一些特定的玩家,现在在我的运行方法中,我想检查每个被缓存的玩家并给他们奖励,插入 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
条目集允许您循环遍历整个地图
the entryset allows you to loop over the entire map
添加更多调试输出。
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.