zoukankan      html  css  js  c++  java
  • List、List<object>、List<?>三者的区别

    public class Demo01 {
        public static void main(String[] args) {
            // 第一段:泛型出现之前的集合定义方式
            List a1 = new ArrayList();
            a1.add(new Object());
            a1.add(new Integer(111));
            a1.add(new String("hello a1"));
    
            // 第二段:把a1引用赋值给a2,注意a2与a1的区别是增加了泛型限制<Object>
            List<Object> a2 = a1;
            a2.add(new Object());
            a2.add(new Integer(222));
            a2.add(new String("hello a2"));
    
            // 第三段:把a1引用赋值给a3,注意a3与a1的区别是增加了泛型<Integer>
            List<Integer> a3 = a1;
            a3.add(new Integer(333));
            // 以下两行编译报错,不允许增加非Integer类型进入集合
           // a3.add(new Object());
           // a3.add(new String("hello a3"))
    
            // 第四段:把a1引用赋值给a4、a1与a4的区别是增加了通配符
            List<?> a4 = a1;
            // 以下编译报错,不允许增加任何元素
            //  a4.add(new Object());
            //  a4.add("111");
            //  a4.add(111)
            System.out.println("=======" + a4 );
            // 允许删除和清除元素
            a1.remove(0);
            a4.clear();
        }
    }
  • 相关阅读:
    gearman管理
    php运行方式
    gearman mysql持久化
    gearman安装及初次使用
    消息队列各种比较
    IOC
    post提交/文件上传服务器修改
    protobuf php
    thrift 安装介绍
    qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题
  • 原文地址:https://www.cnblogs.com/nastu/p/15193789.html
Copyright © 2011-2022 走看看