Java HashMap中的非泛型错误

Java HashMap中的非泛型错误,java,hashmap,Java,Hashmap,我在Java代码中得到HashMap的以下错误 错误-“类型HashMap不是泛型的;不能使用参数对其进行参数化” package com.example.map; 导入java.util.Map; 导入java.util.HashMap; 公共类哈希映射{ 公共静态void main(字符串[]args){ //此处编译错误vvv Map mapHttpErrors=新HashMap(); mapHttpErrors.put(200,“OK”); mapHttpErrors.put(303,“

我在Java代码中得到HashMap的以下错误

错误-“类型HashMap不是泛型的;不能使用参数对其进行参数化”

package com.example.map;
导入java.util.Map;
导入java.util.HashMap;
公共类哈希映射{
公共静态void main(字符串[]args){
//此处编译错误vvv
Map mapHttpErrors=新HashMap();
mapHttpErrors.put(200,“OK”);
mapHttpErrors.put(303,“见其他”);
mapHttpErrors.put(404,“未找到”);
mapHttpErrors.put(500,“内部服务器错误”);
System.out.println(mapHttpErrors);
}
}

正如错误告诉您的那样,您的
HashMap
类不是泛型的,因此您的代码毫无意义


您不应该使用与内置类相同的名称创建类。

错误告诉您,您的
HashMap
类不是泛型类,因此您的代码没有任何意义


您不应使用与内置类相同的名称创建类。

下一行中的
HashMap
指的是您创建的公共类:

Map<Integer, String> mapHttpErrors = new **HashMap**<>();

但是,请再次记住,按照程序中的方式命名类是一个相当糟糕的主意。

在下一行中
HashMap
指的是您创建的公共类:

Map<Integer, String> mapHttpErrors = new **HashMap**<>();

但是,请再次记住,像在程序中那样命名类是一个相当糟糕的主意。

您还为自己的类命名了
HashMap

当您编写
newhashmap
时,编译器认为您引用的是您自己的类,实际上它没有指定任何泛型参数


您可以(事实上:应该)将类的名称更改为其他名称,或者在代码中显式引用
java.util.HashMap

Map<Integer, String> mapHttpErrors = new java.util.HashMap<>();
MapMapHttpErrors=new java.util.HashMap();

您还命名了自己的类
HashMap

当您编写
newhashmap
时,编译器认为您引用的是您自己的类,实际上它没有指定任何泛型参数


您可以(事实上:应该)将类的名称更改为其他名称,或者在代码中显式引用
java.util.HashMap

Map<Integer, String> mapHttpErrors = new java.util.HashMap<>();
MapMapHttpErrors=new java.util.HashMap();

看起来原因相同--您将类命名为与您尝试使用的类型相同的名称。更改类名称看起来原因相同--您将类命名为与您尝试使用的类型相同的名称。更改类名称而不是键入“抱歉,这应该是一条注释”只需删除答案并将其写为评论…我在移动应用程序中找不到此选项,我只是想尽快避免收到大量的反对票。。。是的,他们真的开始了…与其键入“抱歉,这应该是一条评论”,不如删除答案并将其作为评论写下来…我在移动应用程序中找不到这个选项,我只是想尽快不要收到太多的反对票。。。是的,他们真的开始了…谢谢你。我刚刚尝试更改类名,并消除了此错误。谢谢。我只是尝试更改类名并消除了这个错误。将类的名称更改为
HashMapTest
LocalHashMap
或。。。显然,创建一个与常用java.util类同名的类是非常容易混淆的。将类的名称更改为
HashMapTest
LocalHashMap
或。。。当然是合适的。