欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java HashMap 使用了未经检查或不安全的操作

程序员文章站 2024-01-12 20:23:46
今天在做接口测试的时候使用了Java中的Map(java 所知胜少,因项目需要提供示例),不扯犊子了,我们直接看一个代码文件名:Test.java: 编译执行: 发现在编译javac时直接报错: 解决办法[开启上面注释的任一一行]:Map map = new HashMap(); 改成:HashMa ......

今天在做接口测试的时候使用了java中的map(java 所知胜少,因项目需要提供示例),不扯犊子了,我们直接看一个代码文件名:
test.java:

import java.util.arraylist;
import java.util.hashmap;
import java.util.list;
import java.util.map;
class  test
{    
 public static void main(string[] args) {
      map map = new hashmap();      
      //map<string,string> map = new hashmap<string,string>();
      //hashmap<string,string> map = new hashmap<string,string>();
      map.put("code", "1001");
      map.put("name", "mary");
      map.put("gender", "female");
      map.put("age", "22");
      map.put("hobby", "旅游");
      system.out.print(map.get("hobby"));
      for (map.entry<string, string> entry : map.entryset()) { 
          system.out.println("key = " + entry.getkey() + ", value = " + entry.getvalue()); 
        }
    }
         
}    

编译执行:

javac  -encoding utf-8 test.java
java test

发现在编译javac时直接报错:
Java HashMap 使用了未经检查或不安全的操作

1 注: test.java使用了未经检查或不安全的操作。
2 注: 有关详细信息, 请使用 -xlint:unchecked 重新编译。

解决办法[开启上面注释的任一一行]:
map map  = new hashmap(); 改成:
hashmap<string,string> map = new hashmap<string,string>();
或者:
map<string,string> map = new hashmap<string,string>();

啥情况?
查资料大致是这样解释滴:

jdk版本是1.5,1.5(我的jdk是1.8)以上是支持泛型的,但我的写法不是用泛型的写法,所以编译的时候出了警告。 
重新编译执行:
Java HashMap 使用了未经检查或不安全的操作