首页 > 解决方案 > 为什么我不能向 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 中。我的控制台上没有任何异常,所以我没有办法知道出了什么问题。

标签: javaeclipsehashmap

解决方案


调用 时Map.put(),返回映射中给定键的上一个条目。如果put()返回null,则添加条目,但它没有覆盖任何内容。


推荐阅读