您的位置:首页 > 编程语言 > Java开发

注:*.java使用了未经检查或不安全的操作 问题解决

2018-02-06 21:04 555 查看

一、引言

最近在学习 《Head First Java》的第 13 章的时候,遇到了教材上的这段代码,硬是编译不过去:

String[] listEntries = {"alpha", "beta", "gamma", "delta",
"epsilon", "zeta", "eta", "theta"};
list = new JList(listEntries);


提示信息是:

注: TestList.java使用了未经检查或不安全的操作。

注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

我仔细比对了自己敲的,和教材上写的,确认没有敲错,那么这里是哪里出了问题了呢?

此时我回忆起来了一个关键点:

Head First Java 此书的代码,都是基于 Java5.0 的

而我的电脑上装的 Java 版本是最新的 1.8,难道是版本的问题?

二、翻查 API 文档

此时,我查询了 Java5.0 和 Java7 的参考文档:

这是 Java5.0 的官方示例,地址

String[] data = {"one", "two", "three", "four"};
JList dataList = new JList(data);


可见,这就是 Head First Java 上面的代码样式。

而这是 Java7 的官方示例,地址

String[] data = {"one", "two", "three", "four"};
JList<String> myList = new JList<String>(data);


通过官方文档我们可以看出,原来是在 Java5.0 之后的版本加上了泛型的考虑,导致我们 Java5.0 的代码编译不过去了,此时需要将代码改成官方示例的样子才能够编译过去。

至此,问题解决:)

三、总结

可见,Java 不同版本之间的区别还是存在的,遇到问题要习惯于去查看 API 官方文档,游刃于多种版本之间,更加能够领悟版本之间的变化。

作为一个初学 java 的新人,能够独立解决这样的问题,还真是很开心呢 ^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐