慢慢来比较快,虚心学技术
同文链接:https://www.jianshu.com/p/78c4a306f4db
前言:早期java使用Object表示任意类型,那么在使用任意类型方法的时候,需要进行向下强转,有可能会导致编译通过,而运行时类型转换错误(如一个list中装了不同的类对象,强转失败)
概念(起源)
泛型:Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
泛型
我们先来看一个示例
List list = new ArrayList();
list.add("test");
list.add(1);
list.add(true);
for (int i = 0; i < list.size(); i++) {
String str= (String) list.get(i);
System.out.println("value:" + str);
}
运行代码结果:
value:test
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at com.java.SimpleTest.GenericTest.errorTest(GenericTest.java:34)
at com.java.SimpleTest.GenericTest.main(GenericTest.java:15)