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
    
  • 相关阅读:
    Centos7.2 下搭建LNMP环境(终极版)Yum安装
    ThinkPHP3.2 插入数据库数据,缓存问题
    无限极分类的JS实现
    PHP 商城无限极分类
    高速下载Centos的地址
    高性能的城市定位API接口
    阿帕奇配置本地虚拟站点,XAMPP环境下
    Nginx 下配置Laravel 错误404
    laravel Redis缓存
    pytest.1.快速开始
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/12708928.html
Copyright © 2011-2022 走看看