泛型的细节

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.接口直接写入特定的泛型(已知类型)

相关推荐
1024奇点6 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch7 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
天河归来7 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL8 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing038 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209999 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河9 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮9 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻9 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble9 小时前
C++ 用互斥锁实现读写锁
开发语言·c++