java泛型 T 和 通配符 ?
java泛型 T 和 通配符 ? 一 泛型的基本用法 定义 运行原理 二 PECS法则 三 T 和 ? 的更多场景 一 泛型的基本用法 从java5开始,java开始引入泛型。在没有泛型之前,从集合中读取到的每一个对象都必须进行转换,如果有人不小心插入了类型错误的对象,在运行时的转换处理就会出错。 有了泛型之后,你可以告诉编译器每个集合接受哪些对象类型。编译器自动为你的插入进行转换,饼子啊编译时告知是否插入了类型错误的对象。 定义 · 1 定义在类中,紧跟在类名后面 public class TestClassDefine < T , S extends T > { } 定义泛型 T, S, 且S 继承 T · 2 定义在方法装饰符后面,紧跟修饰符后面(public) public < T , S extends T > T testGenericMethodDefine ( T t , S s ) { } 定义泛型 T, S, 且S 继承 T 运行原理 java泛型是通过擦拭来运行的,即在代码运行过程中不会生效,只是编译期生效。 List < String > stringArrayList = new ArrayList < String > ( ) ; List < Integer > integerArrayList = new ArrayList < Integer >