java 泛型

来源:互联网 发布:倚天屠龙记 知乎 编辑:程序博客网 时间:2024/06/13 05:19

java中的泛型与C++中的模板有类似之处。

1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型

2、具有类型安全的功能

public class test {
public static void main(String[] args) 
{
List<String> list = new ArrayList<String>();
list.add("to");
list.add("me");
for(Iterator iter=list.iterator(); i.hasNext();)
{
String str = i.next();
System.out.println("str");
}
}
}

这段程序会发生编译错误。

List只允许存放String类型的数据,Iterator迭代器也需要采用泛型参数。

修改成:

for(Iterator<String> iter=list.iterator(); i.hasNext();)
{
String str = i.next();
System.out.println("str");
}


3、泛型的类型参数可以有多个。

4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。

5、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName("java.lang.String");


0 0
原创粉丝点击