如何解析我的hashmap代码中找不到的错误符号

时间:2017-07-25 11:48:40

标签: java cannot-find-symbol

这是我的程序中我遇到了2个错误,我无法解决。这一行有两个错误:

Map<OverEmp, String> m = new HashMap<OverEmpString>();,消息显示未找到符号。

class OverEmp {
  private int employeeID;
  private String firstName;
  private String lastName;

  public OverEmp(int employeeID, String firstName, String lastName) {
    super();
    this.employeeID = employeeID;
    this.firstName = firstName;
    this.lastName = lastName;
  }

  @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + employeeID;
        result = prime * result
                + ((firstName == null) ? 0 :   firstName.hashCode());
        result = prime * result
                + ((lastName == null) ? 0 : lastName.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        OverEmp other = (OverEmp) obj;
        if (employeeID != other.employeeID)
            return false;
        if (firstName == null) {
            if (other.firstName != null)
                return false;
        } else if (!firstName.equals(other.firstName))
            return false;
        if (lastName == null) {
            if (other.lastName != null)
                return false;
        } else if (!lastName.equals(other.lastName))
            return false;
        return true;
    }


}
 class HashCodeDemo {

  public static void main(String[] args) {
    Map<OverEmp, String> m = new HashMap<OverEmp, String>();
    OverEmp cust = new OverEmp(1, "Roger", "Cox");
    m.put(cust,"Roger Cox");
    // retrieving using another instance
    System.out.println(m.get(new OverEmp(1, "Roger", "Cox")));
    // retrieving using same instance
    System.out.println(m.get(cust));               
    }
}

0 个答案:

没有答案