泛型使编译器可以在编译期间对类型进行检查以提高类型安全,减少运行时由于对象类型不匹配引发的异常。
例如:
public class ListContainer{ private T t; public T getObj() { return t; } public void setObj(T t) { this.t = t; } }
这里
如:
ListContainermyCon=new ListContainer ();
这种环境下,编译器就知道ListContainer容器是放Dog类型对象的。并进行类型安全检查。
myCon.setObj(new Dog())//ok myCon.setObj(“123”);//编译时提醒类型错误
这样设计的容器在使用时编译器就可以帮忙做很大一部分的类型安全检查工作了,这就避免了很多运行时的ClassCastException异常,程序员也无需记住各种对象的类型和担心类型匹配问题了。同时大部分情况下也不用做类型强制转换工作了。
以上就是java泛型的作用是什么的详细内容,更多请关注其它相关文章!