泛型作用有:
类型的参数化,就是可以把类型像方法的参数那样传递。这一点意义非凡。
泛型使编译器可以在编译期间对类型进行检查以提高类型安全,减少运行时由于对象类型不匹配引发的异常。
例如:
public class ListContainer<T> { private T t; public T getObj() { return t; } public void setObj(T t) { this.t = t; } }
这里<T>的T的类型的参数,具体T指代什么类型,是String还是Animal还是Dog类型此处不管,而在程序员开发时使用到ListContainer时再指定,
如:
ListContainer<Dog> myCon=new ListContainer<Dog>();
这种环境下,编译器就知道ListContainer容器是放Dog类型对象的。并进行类型安全检查。
myCon.setObj(new Dog())//ok myCon.setObj(“123”);//编译时提醒类型错误
这样设计的容器在使用时编译器就可以帮忙做很大一部分的类型安全检查工作了,这就避免了很多运行时的ClassCastException异常,程序员也无需记住各种对象的类型和担心类型匹配问题了。同时大部分情况下也不用做类型强制转换工作了。
以上就是java泛型的作用是什么的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)