通配符

【1】在没有通配符的时候:

下面的a方法,相当于方法的重复定义 ,报错

复制代码
/*public void a(List<Object> l){

    }
    public void a(List<String> l){

    }
    public void a(List<Integer> l){

    }*/
复制代码

【2】引入通配符

复制代码
public class Demo {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) {
        List<Object> list1=new ArrayList();
        List<String> list2=new ArrayList();
        List<Integer> list3=new ArrayList();


        List<?> list=null;
        list=list1;
        list=list2;
        list=list3;
    }
}
复制代码

发现:A和B是子类父类的关系,G<A>和G<B>不存在子类父类关系,是并列的

加入通配符?后G<?>就变成了G<A>和G<B>的父类

【3】使用通配符

复制代码
package com.msb.test05;

import java.util.ArrayList;
import java.util.List;

/**
 * @author : liu
 * 日期:15:37:52
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test {
    /*public void a(List<Object> l){

    }
    public void a(List<String> l){

    }
    public void a(List<Integer> l){

    }*/
    public void a(List<?> list){
        //内部遍历的时候用Object即可,不用?
        for (Object a:list
             ) {
            System.out.println(a);
        }
    }

}
class T{
    //这是一个main方法:是程序的入口
    public static void main(String[] args) {
        Test t = new Test();
        t.a(new ArrayList<String>());
        t.a(new ArrayList<Object>());
        t.a(new ArrayList<Integer>());
    }
}
复制代码

【4】查看API应用

 

posted @   爱的加勒比  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示