今天看完第8章介绍的容器类的使用方法以后感觉到很不方便,特别是容器类不能进行类型声明,一律作为Object类容纳。这样可能造成很多的不便,比如所有放入容器对象,如果要用到自身的定义得方法的话,就要对放入容器的对象进行下塑造型,这使得使用容器的编程过程变得非常的繁琐。同时我也看到了作者说明JAVA将在以后的版本中加入generics泛型的概念,于是便上网查阅了关于泛型的资料。
得出的结论是泛型在用法上与C++中的模板很相似,但是同时也有很多人给我说泛型和模板的概念以及设计完全不同,这个问题暂且不进行深入的学习,目前仅仅只是看了关于泛型的几个最基础的用法:
首先是容器类中关于泛型的用法
比如加入java.util.List包的话就能进行List<String> StringList;的声明那么这个容器就只能装入String以及String派生类的句柄,而且调用的时候也不用像java1.5以前的版本那样进行下塑造型。
另外是泛型在写方法中的运用。
public void TestMethod<T>(T obj){}
//在这里T作为类型的指代,和C++中的函数模板具有一样的效果,调用这个函数的时候只需写成:
TestMethod<string>("测试");
TestMethod<int>(123);
还有就是类中的用法,跟方法中的泛型使用差不多
public class CTest<T>
{
protected T var;
public void setVar(T e)
{
var = e;
}
public T getVar()
{
return var;
}
}
以上就是我对今天学到的泛型使用的总结,同时希望看到这篇文章的老鸟能推荐一两本关于泛型讲解比较详细的书以供我进行深入学习,在下感激不尽。