泛型的细节

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

相关推荐
Tony__Ferguson几秒前
在线oj项目测试报告——系统模块测试
java·spring·模块测试
2301_80799738几秒前
代码随想录-day54
数据结构·c++·算法
SamDeepThinking1 分钟前
基于CompletableFuture的主子任务并行处理架构实战:多渠道账单并发导入性能提升5倍的技术方案
java·后端·excel
CoderYanger1 分钟前
A.每日一题——2435. 矩阵中和能被 K 整除的路径
开发语言·线性代数·算法·leetcode·矩阵·深度优先·1024程序员节
我命由我123451 分钟前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
期待のcode2 分钟前
Springboot整合springmvc的自动装配
java·spring boot·后端
j***51892 分钟前
Spring总结(上)
java·spring·rpc
DJ斯特拉4 分钟前
日志技术Logback
java·前端·logback
悟能不能悟4 分钟前
springboot的controller中如何拿到applicatim.yml的配置值
java·spring boot·后端
0和1的舞者5 分钟前
《SpringBoot 入门通关指南:从 HelloWorld 到问题排查全掌握》
java·spring boot·后端·网络编程·springboot·开发·网站