zoukankan      html  css  js  c++  java
  • Java泛型(2)常见使用错误

    • 问题1:赋值类型错误 Incompatible types.Found: 'java.util.List<java.lang.String>',required: 'java.util.List<java.lang.Object>'
            List<Object> objectList1=new ArrayList<>();
            List<String> stringList1=new ArrayList<>();
            objectList1=stringList1;
            //Incompatible types.Found: 'java.util.List<java.lang.String>',required: 'java.util.List<java.lang.Object>'
    

    因为objectList1需要的是Object类型,但是却给了一个String类型的stringList1
    如果加入通配符?,改成下面代码就可以了

            List<? extends Object> objectList2=new ArrayList<>();
            List<String> stringList2=new ArrayList<>();
            objectList2=stringList2;
    
    • 问题2:警告(不过没有报错):Unchecked call to 'add(E)' as a member of raw type 'java.util.List'
            List list1=new LinkedList();//警告(因为没有加泛型类型)
    //        List<String> list1=new LinkedList();
            list1.add(1);
            list1.add("a");
    

    另外发现:如果不指定泛型,可以在List中保存多种类型的元素。因为默认为Object类型

    • 问题3:警告:Unchecked assignment: 'java.util.ArrayList' to 'java.util.List<java.lang.String>'
            List<String> rawList = new ArrayList();//警告(没有加尖括号):
    
    
    • 问题4:可以给Array加泛型吗?不可以
    Array<Integer>;//Type Array does not have type parameters
    
  • 相关阅读:
    LeetCode 121. Best Time to Buy and Sell Stock
    LeetCode 221. Maximal Square
    LeetCode 152. Maximum Product Subarray
    LeetCode 53. Maximum Subarray
    LeetCode 91. Decode Ways
    LeetCode 64. Minimum Path Sum
    LeetCode 264. Ugly Number II
    LeetCode 263. Ugly Number
    LeetCode 50. Pow(x, n)
    LeetCode 279. Perfect Squares
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/12708928.html
Copyright © 2011-2022 走看看