关于Java的hashmap,不是实现了Map接口吗?

hashmap不是实现了map接口吗?按照书上的这么写为什么报错?说是不能转换成Map类型
图片说明
只能这样
图片说明

应该是可以的,你鼠标放上去看下是什么错。

Map map = new HashMap();
这么写诗可以得。看下编译器报什么错误信息,是不是有重名的也叫HashMap的类,或者缺少包

这句话不会报错。是不是你的jdk版本有问题?

JDK的环境变量重新设置一下呢

没有问题的,看看是不是包导错了,util下的才行图片说明

看看是不是包导错了,util下的才行

这样写没错,加上泛型就不会报错了

原因是这样的,代码报错是 Map cannot be resolved to a type,HashMap is a raw type. References to generic type 证明了一件事,就是Map没有被认出,说明没有导入Map的包HashMap和TreeMap作为Map接口的实现类并没有和Map在同一个文件线面,体现了java疯长的特点,所以要导入Map包import java.util.Map;

import java.util.*;
public class Demo {

public static void main(String[] args) {
    Map<String, String> map = new HashMap<String, String>();
} 我这样写,没有报错啊。。