泛型的细节

1.泛型中不能写基本数据类型

2.指定泛型后,传递数据时,可以传入该类型或者其子类类型

3.如果不写泛型,默认时Object类型

java 复制代码
public class MyArrayList<E> {
    Object[] obj = new Object[10];
    int size;
    /*
    * E:表示不确定的数据类型
    * e:形参的名字,变量名字
    * */
    public boolean add(E e){
        obj[size] = e;
        size++;
        return true;
    }
    public E get(int index){
        return (E)obj[index];
    }

    @Override
    public String toString() {
        return Arrays.toString(obj);
    }
}
java 复制代码
public class Myttest {
    static void main() {
        MyArrayList<String> list = new MyArrayList<>();
        list.add("aaa");
        list.add("bbb");
        System.out.println(list);


        MyArrayList<Integer> list2 = new MyArrayList<>();
        list2.add(1);
        list2.add(2);
        System.out.println(list2);
    }
}

泛型方法的定义及使用:

java 复制代码
import java.util.ArrayList;

public class Utils {
    private Utils(){}

    public static<E> void addAll(ArrayList<E> list,E...e){
        for (E element : e) {
            list.add(element);
        }

    }
}
java 复制代码
import java.util.ArrayList;

public class UT {
    static void main() {
        ArrayList<Integer> list = new ArrayList<>();
        Utils.addAll(list,1,2,3,4);
        System.out.println(list);
    }
}

泛型接口的定义及使用:

1.

2.接口直接写入特定的泛型(已知类型)

相关推荐
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里1 天前
java中的继承和多态的区别
java
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕1 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时1 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
m0_547486661 天前
《数据结构教程》全套 PPT课件2026
数据结构