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

一、引言

最近在学习 《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 的新人,能够独立解决这样的问题,还真是很开心呢 ^_^

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值