我们还是国际惯例,不废话直奔主题。
网上的资料这样定义泛型:Java的泛型就是创建一个用类型作为参数的类。感觉这个总结不够全面。按我的理解,泛型相当于Java类型的占位
符。
搞编程的人在概念上较真是幼稚的,概念意会就可以了。我们来看看使用泛型的好处:
我们定义一个集合,往里面添加了两个数据,一个整型对象,一个字符串,然后试图把集合里的数据全打印出来。程序编译通过,但运行时会有异常。Exception in thread "main" java.lang.ClassCastException: java.lang.Integer
at jdk5.newcharachater.review.GenericTest.main(GenericTest.java:20)
强制转换类型时出现了问题,原因是类型转换失败。
我们把12行改成:Collection<String> c = new ArrayList<String>();
这样编译的时候14行就不能通过了。更新后的程序: