暑假学习记录25 泛型2

(1)今天学习了泛型的剩下的部分
(2)明天学习Map
(3)  1  类型通配符  <?>

                               List<?>  表示元素类型未知的List,它的元素可以匹配任意类型,这种带通配符的List仅代表他是各种泛型List的父类,并不能把元素添加到其中

   类型通配符上限 List<? extends 类型>

                              List<? extends Number> 表示的是Number或其子类型

                              List<? extends Number> list1=new ArrayList<Integer>();

   类型通配符下限 List<? super 类型>

                              List<? extends Number>  表示的是Number或其父类型

                              List<? extends Number> list2=new ArrayList<Object>();

        2  可变参数  格式  修饰符 返回值类型 方法名(数据类型...变量名){}

                             范例  public static int sum(int...a){}

                                        一个方法如果有多个参数,包含可变参数的情况下,可变参数要放到最后

                                        可变参数中的变量是一个数组

                              多个数据求和  public static int sum(int...a){

                                                                int sum=0;

                 for(int i: a){

                  sum+=i;

                      }

                  return sum;

                            }

         3  可变参数的使用  Arrays工具类中有一个静态方法

           public static <T> List <T>asList(T...a){}  

                                                 List<String> list=Arrays.aslist("hello","world","java")

                                       返回由指定数组支持的固定大小的列表,不能做增删操作,可以修改            

                                        List接口中有一个静态方法

                                         public static <E> List<E> of(E elements){}

           返回包含任意数量元素的不可变列表

                                         不能做增删改操作

           Set接口中有一个静态方法

           public static <E> List<E> of(E elements)

            返回一个包含任意数量元素的不可变集合

            不能给重复元素,不能做增删操作,没有修改的方法                                    

posted @ 2021-08-05 18:30  Cuora  阅读(29)  评论(0)    收藏  举报