java中什么叫泛型?

Python016

java中什么叫泛型?,第1张

泛型。规定了此集合中元素的类型。例如:\x0d\x0a\x0d\x0aArrayList arr = new ArrayList ()\x0d\x0a\x0d\x0a这样就创建了一个包含整数的 ArrayList 对象。\x0d\x0a如果要自己定义泛型类,就用如下形式:\x0d\x0a\x0d\x0aclass MyCollection {...}\x0d\x0a\x0d\x0a尖括号中的类型可以有限制,例如你需要让 MyCollection 中的类型都具有可比性,可以用如下格式:\x0d\x0a\x0d\x0aclass MyCollection {...}\x0d\x0a\x0d\x0a此外,要注意泛型的一些特性:\x0d\x0a\x0d\x0a1. 不能直接创建泛型数组。如 new ArrayList[5] 之类的是错的。只能用如下方法:new ArrayList[5] 或者 (ArrayList[])new ArrayList[5]\x0d\x0a\x0d\x0a2. 静态方法中需要小心,因为 E 一般是非静态类型,如果你这样写:\x0d\x0a class MyCollection {\x0d\x0a public static MyCollection abc() {\x0d\x0a ......\x0d\x0a }\x0d\x0a }\x0d\x0a 是错的。你只能把 去掉。

一般使用在集合上,比如现在将一个字符串类型放在集合里面,这时候,放入集合的字符会失去其本身的类型,只能是object类型,比如想要对这这个值进行转换, 很容易出现类型转换错误。可以使用泛型解决这个问题。