泛型就是添加了一个类型参数你可以在用泛型类或者泛型方法的时候确定这个泛型为一个确定的类型
在以前的java版本中是没有泛型的只能用根类Object来表示泛型,但是这样的话就不能表示摸一个确定的类型因为object是所有类的父类所以它是一个表示所有类型
java中加入了泛型以后所有的集合框架都重新写了使它们支持泛型,这样你就可以这样写
ArrayList al=new ArrayList();
表示一个String型的Arraylist
但是泛型有一个问题就是它不支持基本类型作为类型参数。
1、首先,了解一下Java关于泛型的概念。泛型,在C++中被称为模板,就是一种抽象的编程方式。当我们定义类和方法的时候,可以用一种通用的方式进行定义,而不必写出具体的类,这些未知的东西会在真正使用的时候在确定。
对于集合类来说,它们可以存放各种类型的元素。如果在存放之前,就能确定元素的类型,那么就可以更加直观,也让代码更加简洁。
2、普通集合就是这个集合可以添加任何类型的数据。拿出来的时候是object类型,要进行强转换,但因为不确定存进去的是哪种数据类型,有可能出异常。
泛型就是只能添加指定数据类型的数据,取出数据的时候不用进行类型转换。
3、其实不应说是两者的区别的,他们是一个包含的关系!
在面向对象编程中有一个术语,叫泛化,而这个泛型的来源正是来源于这里!所谓的泛型就是指的存储的是其父类型,而实现使用时声明好子类型而已。
不管是在java还是C#中,所有的类型都是基于object这个基础类型的。可以认为所有的其他类型都是object的泛型。
而泛型集合指的就是将这些泛型放在一起的集合,但在使用前必须选进类型加以加说明。
已被489人点赞