第4关:泛型
任务描述
本关任务:使用泛型创建集合对象。
相关知识
为了完成本关任务,你需要掌握:
1.什么是泛型;
2.如何使用泛型。
什么是泛型
什么是泛型呢?简单的来说,泛型可以理解为:类型参数,那什么又是类型参数呢?
我们知道一个方法void hello(String name)如果指定了一个字符串类型的参数,那方法的调用者就只能传递String类型的参数才能正确的使用这个方法了,否则就报错,其实泛型也是一样,只不过在这里泛型用在集合上,即指定集合中只能放某一种类型的元素。
你要往ATM机中存钱,就只能放毛爷爷,而不能放冥币,这就是泛型,指定只能用一种类型。
如何使用泛型
泛型使用的是一对尖括号定义的,如:List 指定的就是在List集合中只能放String类型的数据。
接下来我们来一个对比评测,看一看使用泛型和不使用泛型的区别。
不使用泛型:
List list1 = new ArrayList();
list1.add("www.educoder.net");
String str1 = (String)list1.get(0);
使用泛型:
List<String> list2 = new ArrayList<String>();
list2.add("www.educoder.net");
String str2 = list.get(0); //可以发现在这里我们不用强转数据类型了
当然泛型不仅仅只有这么一点用途,在开发中处处可见泛型,在之后的章节中我们会更深一步的了解。
可能你会有疑问,为什么我要使用泛型啊,使用泛型有什么好处呢?
答:好处如下:
1、类型安全,通过知道使用泛型定义的变量的类型限制,编译器可以更有效地提高Java程序的类型安全;
2、消除强制类型转换,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。所有的强制转换都是自动和隐式的;
3、提高性能。