- 当我们从一个集合里取出来一个元素的时候,如果没有使用泛型,那么这个元素的类型是Object,因为集合没有办法记住他的元素的数据类型,所以我们要使用集合元素的时候,第一步就是要强制类型转换,这会使得代码变得非常臃肿,而且一不小心就ClassCastException,所以在java5后有了泛型,泛型可以使得集合可以“记住”他的元素的类型,这样子极大的方便了集合的使用,以下为最简单的泛型使用示例
package UseIt; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class DiamonTest { public static void main(String args[]){ List<String> list = new ArrayList<>(); list.add("java1"); list.add("java2"); for(String str : list){ System.out.println(str); } Map<String, List<String>> map = new HashMap<>(); List<String> list1 = new ArrayList<>(); list1.add("java1"); list1.add("java1"); map.put("java3", list1); for(String key : map.keySet()){ List <String> list2 = map.get(key); // 这里已经不需要强制转换了,因为集合已经“记住”了它的元素的类型 System.out.println(key + "---->" + list2); } } } //输出结果 // java1 // java2 // java3---->[java1, java1]
-
补充一下,在java7之后出现了“菱形”语法,即使在声明诸如 List<String> list = new ArrayLaist<String>();的时候,可以用List<String> list = new ArrayLaist<>();代替,因为后面尖括号里的String是没有存在的必要的
java泛型(1) 认识泛型
猜你喜欢
转载自blog.csdn.net/weixin_39452731/article/details/81413924
今日推荐
周排行