[英]not generic Error in Java HashMap
我在Java代码中收到HashMap的以下错误。
错误 -“ 类型HashMap不是通用的;不能使用参数<>对其进行参数化 ”
package com.example.map;
import java.util.Map;
import java.util.HashMap;
public class HashMap {
public static void main(String[] args) {
// compilation error here vvvvvvv
Map<Integer, String> mapHttpErrors = new HashMap<>();
mapHttpErrors.put(200, "OK");
mapHttpErrors.put(303, "See Other");
mapHttpErrors.put(404, "Not Found");
mapHttpErrors.put(500, "Internal Server Error");
System.out.println(mapHttpErrors);
}
}
您也已经命名了自己的类HashMap
。
当您编写new HashMap
,编译器会认为您是在引用您自己的类,而该类实际上并未指定任何通用参数。
您可以(实际上:应该)将类的名称更改为其他名称,或者在代码中显式引用java.util.HashMap
:
Map<Integer, String> mapHttpErrors = new java.util.HashMap<>();
错误告诉您,您的HashMap
类不是通用的,因此您的代码没有意义。
您不应使用与内置类相同的名称来创建类。
在以下行中, HashMap
引用您创建的公共类:
Map<Integer, String> mapHttpErrors = new **HashMap**<>();
用与官方Java API中的类完全相同的名称来命名类通常是一个非常糟糕的主意。 但是,如果您确定要替代旧名称,那么仍然可以保留旧名称,这是从java.util
包使用HashMap
的方法:
Map<Integer, String> mapHttpErrors = new java.util.HashMap<>();
但是再一次,请记住,像在程序中一样命名类是一个坏主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.