首页 > 代码库 > java-泛型

java-泛型

泛型——通用类型(Generic)

 

简介:

  相当于c++中的模板技术,应用于类型安全检查以及编写java程序(框架)。

语法:

  list<泛型类型>   =>参数化类型

  规定List集合中元素类型,取出集合元素时,获得具体的数据元素类型(不需要进行强制转换)。此外注意:泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上挡住向集合中插入非法数据。但编译器编译完带有泛型的java集合后,生成的class文件中将不再带有泛型信息。以此使程序效率不受影响,这个过程称之为“擦除”。

泛型典型应用:

  · 对List的遍历

    

	@Test
	public void demo1() {
		List<String> list = new ArrayList<String>();

		list.add("abc");
		list.add("def");
		list.add("qwe");

		// JDK5之前 两种遍历方式 :通过下标遍历、通过Iterator
		Iterator<String> iterator = list.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		System.out.println("--------------------------------");
		for (Iterator iterator2 = list.iterator(); iterator2.hasNext();) {
			String string = (String) iterator2.next();
			System.out.println(string);
		}
		System.out.println("--------------------------------");

		// for in 简化 Iterator --- for in 就是 Iterator
		for (String s : list) { // String s 表示 list中每一个字符串
			System.out.println(s);
		}
	}

 

泛型的类型转换:

  使用泛型的对象进行类型转换时,两端对象使用的泛型类型必须一致,否则报错。

 

有关知识:

  1、定义泛型方法,必须在方法的返回值之前进行泛型类型声明。

  2、在类名后声明类的泛型,该类中所有方法都可以直接使用泛型,但在静态方法中不生效。

  3、关于泛型通配符的使用。

  4、关于上下边界的应用。

 

小结:  

  1、泛型用来在编译阶段对集合对象进行类型安全检查。

  2、泛型技术结合反射编写java程序。

  3、泛型的通配符和上下边界在API中有很多应用,了解即可。

java-泛型