浅谈Java Generics<T>
陆陆续续学了好几年Java了,到现在还是个Anfänger,只懂最最简单的入门使用 从今天开始,决定好好研究Java, 为了给自己一个Motivation, 我把学习心得发出来,希望编程爱好者能一同学习,讨论。我决定从硬骨头开始啃,先学习Generics,
Gründung:Generics zählen zu den komplexesten Sprachkonstrukten in Java.
Generics 只支持Java 1.5 或1.5 以上的版本,在大型系统经常使用。
Generics 的Vorteile
1. 使用Generics 大大的精简了代码。 在下面的列子里Parameter 可有可无,数目和类型都没限制。
public class GenericsDemo {
public <T> void testTyp(T...t){
T[] aArray = t;
for(int i = 0; i < aArray.length; i++){
System.out.println("T : "+ aArray);
}
}
/**
* @param args
*/
public static void main(String[] args) {
GenericsDemo aDemo = new GenericsDemo();
aDemo.testTyp();
Double aDouble = 2.2;
int aInt = 5;
String aString ="Hallo";
aDemo.testTyp(aDouble, aInt, aString);
}
}
本帖最后由 Mayin10 于 2013-5-21 16:25 编辑
2. Typprüfung des Compilers und der Laufzeitumgebung
其实Generics的主要优势在于让编译器来跟踪参数类型,执行类型校验并且转换类型:编译器保证了转换的正确性。 ClassCastException-Fehler由Maschine检验,而不用人工检查。
在大型系统中一个父类肯能给会有上百个子类,一个好的Java结构设计会让编程者避免很多的错误, 还能大大地节省Compiler的时间。
列子正在思考中........
ms Java的泛型只不过是一个占位符,在编译器里面,所以type的信息会被抹掉。。
页:
[1]