import java.util.*;
public > public Main() {
}
public static void main(String[] args) {
HashMap hm = new HashMap();
hm.put("1", 11);
System.out.println(hm.get("1"));
}
}
用java1.5编译时会出现:
注意:Main.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用-Xlint:unchecked 重新编译。
出现这样的警告是因为:
java1.5使用了泛型的缘故,作如下修改:
HashMap hm = new HashMap();
改成:
HashMap<String, Integer> hm = new HashMap<String, Integer>();
就可以了。
那什么叫做泛型呢?
泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。泛型编程的代表作品STL是一种高效、泛型、可交互操作的软件组件。所谓泛型(Genericity),是指具有在多种数据类型上皆可操作的含意,与模板有些相似。STL巨大,而且可以扩充,它包含很多计算机基本算法和数据结构,而且将算法与数据结构完全分离,其中算法是泛型的,不与任何特定数据结构或对象类型系在一起。STL以迭代器(Iterators)和容器(Containers)为基础,是一种泛型算法(Generic Algorithms)库,容器的存在使这些算法有东西可以操作。STL包含各种泛型算法(algorithms)、泛型指针(iterators)、泛型容器(containers)以及函数对象(function objects)。STL并非只是一些有用组件的集合,它是描述软件组件抽象需求条件的一个正规而有条理的架构。
敢问是否是你的jdk路径设置不正确或是其他问题所致?在我机子上运行一切正常,你检查下你的jdk设置,还有就是转到文件所在目录执行javac和java命令,参考下面文章:
==================================================
JDK安装设置环境变量
一、前言
JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.3。考虑到我对linux不熟悉,而且大多数都是在MS系统下,所以,在这里我用的是win2000。
二、下载,安装
下载地址为JAVA官方站点:java.sun.com,国内也到处都是。
Windows下,直接运行.exe文件,安装到一个目录,我这里用F:\jdk13作为例子。
三、配置
桌面上选择“我的电脑”(右键)
高级
环境变量
在“系统变量”--->“新建”
在变量名中输入:CLASSPATH,变量值中输入:
F:\JDK13\LIB\dt.JAR;F:\JDK13\LIB\TOOLS.JAR;F:\JDK13\BIN;然后确定;
好了,配置完了,要重新启动计算机后,环境变量才能有效的。
四、测试
(1)用文本编辑器写一个简单的java程序:
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
这个例子就是著名的“Hello World”,它的功能就是显示“Hello World”。
注意:该文件名称必须为“HelloWorld.java”,大小写也区分。细心的朋友会注意到就是和public class后的名字一样的。
(2)编译:在dos命令提示符下执行:(注意大小写)
javac HelloWorld.java
如果正常的话,将生成HelloWorld.class文件。
(3)运行:在dos命令提示符下执行:(注意大小写)
java HelloWorld
这里有一个java初学者很有可能遇到的问题(不怕笑话,我也是)就是输入:
java HelloWorld.class
多了后面的.class,一定要注意,否则会出现下面的错误:
Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/class
(本人猜想,是不是java翻译“.”的时候换成了“/”,或者是其他的本人不知道的原因)
好了,运行java HelloWorld应该会出现伟大的“Hello World”了。
到这一步,你已经成功配置好了JDK,可以开始漫长而痛苦(对于象我一样的,以前不懂java的朋友来说,可以用“痛苦”来形容,不理解的概念,不熟悉的java api...,不过,不要急,我将和大家一起慢慢入门,慢慢提高... ...)的Java过程了。