首页 > 其他 > 详细

通配符

时间:2021-08-13 10:18:06      阅读:13      评论:0      收藏:0      [点我收藏+]

1.在没有通配符的时候

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

/   public void a(List<Object> list){
//
//   }
//   public void a(List<String> list){
//
//   }
//   public void a(List<Integer> list){
//
//   }

2引入通配符

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>的父类

使用通配符

package com.wangg;
?
import com.sun.org.apache.xerces.internal.xs.datatypes.ObjectList;
import sun.awt.util.IdentityArrayList;
?
import java.util.ArrayList;
import java.util.List;
?
public class Dome06 {
//   public void a(List<Object> list){
//
//   }
//   public void a(List<String> list){
//
//   }
//   public void a(List<Integer> list){
//
//   }
  public void a(List<?> list){
    //内部遍历的时候用Object类型,不用?
    for (Object b:list){
        System.out.println(b);
    }
?
  }
}
class Dome1q{
  public static void main(String[] args) {
    Dome06 t = new Dome06();
    t.a(new ArrayList<ObjectList>());
    t.a(new ArrayList<String>());
    t.a(new ArrayList<IdentityArrayList>());
?
  }
}

通配符

原文:https://www.cnblogs.com/java5745/p/15135511.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!