java - 为什么我不能向 HashMap (Java) 添加元素
问题描述
我不知道我做错了什么......我有下一个代码:
public class Administrator {
private static Map<Integer, Professor> professors = new HashMap<Integer, Professor>();
private static void addProfessor(){
Scanner scanner = new Scanner(System.in);
System.out.println("\nADD PROFESSOR");
System.out.print("\tId: ");
Integer id = scanner.nextInt();
System.out.print("\tName: ");
String name = scanner.next();
System.out.print("\tLast name: ");
String lastname = scanner.next();
System.out.print("\tInit date (AAAA/MM/DD) (including slashes): ");
LocalDate date = LocalDate.parse(scanner.next());
if(professors.put(id, new Professor(id, name, lastname, date)) != null) {
System.out.println("Professor added successfully.");
} else {
System.err.println("We can't add the professor.");
}
}
}
当我调用addProfessor方法时,会打印错误“我们无法添加教授。 ”。我不知道为什么没有将元素添加到 HashMap 中。我的控制台上没有任何异常,所以我没有办法知道出了什么问题。
解决方案
调用 时Map.put()
,返回映射中给定键的上一个条目。如果put()
返回null
,则添加条目,但它没有覆盖任何内容。
推荐阅读
- python - 如何使图像面对鼠标并在 Pygame 中使用键移动?
- javascript - React Native - 覆盖 Tab navigator Button,弄乱了样式
- python - Numpy:读取具有块结构的长csv文件
- python - Python在终端中添加命令
- php - 如何从 Laravel 8 中删除重置密码邮件中的 laravel-logo?
- spring-boot - 在 Spring Boot 应用程序中临时禁用 REST 端点
- html-email - Apple MAC Mail 客户端中的电子邮件模板问题
- java - 更大的 JFrame 窗口
- firefox - 如何在 Firefox 中为新书签设置默认文件夹
- amazon-web-services - 如何添加 cognito 来验证自托管 Kibana?