java泛型(1) 认识泛型

  1. 当我们从一个集合里取出来一个元素的时候,如果没有使用泛型,那么这个元素的类型是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]
  2. 补充一下,在java7之后出现了“菱形”语法,即使在声明诸如 List<String> list = new ArrayLaist<String>();的时候,可以用List<String> list = new ArrayLaist<>();代替,因为后面尖括号里的String是没有存在的必要的

猜你喜欢

转载自blog.csdn.net/weixin_39452731/article/details/81413924