我有这个哈希图:HashMap<String, Student> students = new HashMap<String, Student>();从用户输入(sNo,name)获得2个String值后,我已经能够将它们像这样放入hashmap中:students.put(sNo, new Student(sNo, name));我的问题是,每次运行此过程时,我都希望能够检查Hashmap键,以确保输入sNo与先前已使用的输入不相同。我尝试了if(sNo == students.keySet()),但这不起作用。 最佳答案 如果说5(sNo)与一个对象(keySet())相同,那么您所做的就是比较。您将始终无法满足此条件。您要查找的是查询keySet,如果其中包含sNo值。if (students.keySet().has(sNo))Map通过这种方式提供了一种快捷方式:if (students.containsKey(sNo))同样,作为一个旁注,在Java中,我们这样编写:Map<Integer, Student> students = new HashMap<>();上面的代码表明,students变量是一个以Integer为键,而Student为值的Map。实际的地图实现未知,您不应该真正在意它。然后,创建一个HashMap,它是Map接口的实际实现,并使用所谓的菱形运算符告诉编译器,键和值与变量声明中的键和值具有相同的泛型。 10-08 13:04