终于碰到了java泛型

早知道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。这样会显示详细的警告信息

你可能感兴趣的:(终于碰到了java泛型)