ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 泛型与通配符 定义与使用

2022-09-03 21:33:10  阅读:251  来源: 互联网

标签:Java list ArrayList 通配符 initialCapacity add 泛型 public


一、泛型

  1. 定义:
    把类型明确的工作推迟到创建对象或调用方法时才明确的类型,简而言之,未明确的数据类型
  2. 类型:
    泛型类,泛型方法,方形接口。
  3. 格式
  • 泛型类格式:class 类名<E变量>{}
  • 泛型方法格式:修饰符 <泛型> 返回值类型 方法名(参数列表(使用泛型)){方法体}
  • 泛型接口格式:修饰符 interface 接口名<>{ 必须是抽象的方法}
  1. 使用:
泛型类:
public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
    /**
     * Constructs an empty list with the specified initial capacity.
     *
     * @param  initialCapacity  the initial capacity of the list
     * @throws IllegalArgumentException if the specified initial capacity
     *         is negative
     */
    public ArrayList(int initialCapacity) {
        if (initialCapacity > 0) {
            this.elementData = new Object[initialCapacity];
        } else if (initialCapacity == 0) {
            this.elementData = EMPTY_ELEMENTDATA;
        } else {
            throw new IllegalArgumentException("Illegal Capacity: "+
                                               initialCapacity);
        }
    }

}
泛型方法:
public class WideType {
   public static void main(String[] args) {
       WideType m=new WideType();
       m.method(1);
       m.method("倪妮");
       m.method(true);
       m.method(8.8);
       System.out.println("--------");
       method2(8);
       method2("蔡卓亦的微笑");
       method2(9.9);
       method2("l love java");
   }
   public <E> void method(E e){
       System.out.println(e);
   }
   public static <E> void method2(E e){
       System.out.println(e);
   }
}
泛型接口:
public interface Iterator<E> {

       boolean hasNext();

       E next();
}

二、通配符 ?

  1. 定义:
    代表任意的数据类型;不能创建对象使用,只能在方法中使用
  2. 使用
public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("倪妮");
        list.add("真漂亮!");
        list.add("feel");
        ArrayList<Integer> list3=new ArrayList<>();
        list3.add(2);
        list3.add(0);
        print(list);
        print(list3);
    }
    public static void print(ArrayList<?> list2){
        Iterator<?> it=list2.iterator();
        while(it.hasNext()){
            Object next = it.next();
            System.out.println(next);
        }
}

标签:Java,list,ArrayList,通配符,initialCapacity,add,泛型,public
来源: https://www.cnblogs.com/arek/p/16653619.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有