早知道Java5.0之后就增加了泛型。而我现在主要看的入门书籍一直接触的是4.0的。比如清华大学出版社的《Java程序设计》第二版(谭浩强主编,马素霞等编著的),还有孙鑫的教学视频,已经侯捷翻译的《Java编程思想》,貌似这些书都是5.0之前的,所以学的过程不知道有泛型,后来只是断断续续知道有泛型的说法,不过一直没有认真去看.今天编程终于出现了。
在定义一个Arraylist 类型的时候,编译后出现了这样的错误:
Note:checkUser.java uses unchecked or unsafe operations.
Note:Recompile with -Xlint :unchecked for details.
百度一下,得到解释:
如果显示为中文就是:
注意: a.java 使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。
其实是很简单,是因为用到了JAVA5.0的泛型,而5.0的泛型不做类型检查,例如ArrayList a =new ArrayList();
a.add("hello");这样会出现警告,解决方法有以下几种:
1)在方法的前面加上@SuppressWarnings("unchecked")
2)声明泛型类型,例如ArrayList<Object> a=new ArrayList<Object>();
3)使用1.4兼容JDK来编译,javac -source 1.4 Test.java
4)也可以查看警告信息,javac Xlint:unchecked Test.java。这样会显示详细的警告信息
时间: 2024-09-27 02:18:03