Java 为什么containsKey()即使UUID在HashMap中也返回false?

Java 为什么containsKey()即使UUID在HashMap中也返回false?,java,hashmap,bukkit,Java,Hashmap,Bukkit,您好,我正在为我和一些朋友制作一个小型minecraft服务器,我已经有一段时间没有使用java了,我使用的是spigot 1.14.1 btw。 不幸的是,我的containsKey()返回false,即使我运行了第一个命令,并且知道我的UUID在HashMap中。 如果有人能解释,那就太好了,如果可能的话,除了解释之外,我的代码还有一个修改版本:) 非常感谢 我试过做我自己的,可惜没有成功 import java.util.HashMap; 导入java.util.Iterator; 导入j

您好,我正在为我和一些朋友制作一个小型minecraft服务器,我已经有一段时间没有使用java了,我使用的是spigot 1.14.1 btw。 不幸的是,我的containsKey()返回false,即使我运行了第一个命令,并且知道我的UUID在HashMap中。 如果有人能解释,那就太好了,如果可能的话,除了解释之外,我的代码还有一个修改版本:) 非常感谢

我试过做我自己的,可惜没有成功

import java.util.HashMap;
导入java.util.Iterator;
导入java.util.Map;
导入java.util.UUID;
导入org.bukkit.bukkit;
导入org.bukkit.Location;
导入org.bukkit.World;
导入org.bukkit.command.command;
导入org.bukkit.command.CommandExecutor;
导入org.bukkit.command.CommandSender;
导入org.bukkit.entity.Player;
导入me.melorn.com.pinepplegang.mc.chatutility.Prefix;
导入me.melorn.com.pinepplegang.mc.programutility.HashMapUtility;
公共类TempYannick实现CommandExecutor{
私有静态位置joejoeprown;
私有HashMap OLDLOCATIONS=新HashMap();
公共布尔onCommand(CommandSender、Command cmd、字符串标签、字符串参数[]){
if(播放机的发送方实例){
玩家=(玩家)发送者;
if(cmd.getName().equalsIgnoreCase(“joejoe”)){
this.OLDLOCATIONS.put(player.getUniqueId(),player.getLocation());
player.sendMessage(Prefix.getPineaplecore()+Prefix.getChatPrefix()+Prefix.getChatColor()+“您已将本传送到”+Prefix.getPlayerNameColor()+“JoeJoe的”+Prefix.getChatColor()+“创意世界”);
}else if(cmd.getName().equalsIgnoreCase(“joejoeback”)){
if(this.OLDLOCATIONS.containsKey(player.getUniqueId())){
删除(player.getUniqueId());
player.sendMessage(Prefix.getPineaplecore()+Prefix.getChatPrefix()+Prefix.getChatColor()+“您从”+Prefix.getPlayerNameColor()+“JoeJoe的”+Prefix.getChatColor()+“创意世界”远程传送回您的旧位置”);
}否则{
player.sendMessage(Prefix.getPineaplecore()+Prefix.getChatPrefix()+Prefix.getChatColor()+“你不能从”+Prefix.getPlayerNameColor()+“JoeJoe的”+Prefix.getChatColor()+“创造性宇宙,如果你没有ben的话!”);
}
}
}
返回false;
}
}

我希望containsKey()将返回true,以便将“You teleported back your old location”(您传送回您的旧位置)消息发送给播放机。

您确定在对
onCommand
的两次调用中使用相同的
TempYannick
实例吗?如果没有,地图在第二次通话中将是空的。哈哈,谢谢,我现在觉得自己太傻了。就是这样,我对这两个命令都使用了新的TempYannick。我只是想补充一点,您可以使用
私有静态hashmap。您确定对
onCommand
的两个调用中都使用了相同的
TempYannick
实例吗?如果没有,地图在第二次通话中将是空的。哈哈,谢谢,我现在觉得自己太傻了。这两个命令我都使用了新的TempYannick。我只是想补充一点,您可以使用
私有静态HashMap