(java)泛型 & Stream流

1. 泛型

定义类、接口、方法时,同时声明了一个或者多个类型变量,我们之前使用的ArrayList就是使用泛型来规定数据的变量类型,泛型可以分为 泛型类,泛型接口,泛型

使用别人的泛型类时:

  • 如果不声明泛型,则就表示输入的类型是Object

  • 泛型的使用只能是引用数据类型,不能是基本数据类型

1.1 泛型类

特点:每一次创建一个成员,就需要确定一次类型

//语法格式
public class 类名<泛型1,泛型2,...> {
   }//

//以模仿集合的ArrayList为例
package cn.itcast.afterClass;
public class MyArrayList1<E> {
   
    private Object[] arr = new Object[10];//此处规定数组长度
    private int size;
    public E get(int index) {
   
        Object object = arr[index];
        return (E)object;
    }
    public void add(E element){
   
        arr[size] = element;
        size++;
    }
    public int getSize() {
   
        return size;
    }
}

//MyArrayListTest1类
public class MyArrayListTest1 {
   
    public static void main(String[] args) {
   
        MyArrayList1<String> list = new MyArrayList1<>();
        list.add("AA");
        list.add("AA");
        list.add("AA");
        System.out.println(list.getSize());//3
    }//main
}


1.2 泛型接口

泛型接口在创建其实现类时,最终发展为两种可能,要么变为普通类,要么变为泛型类。

//泛型类语法
public interface 接口名<泛型1, 泛型2>{
   }

//案例:
//创造泛型类接口A
public interface A<T> {
   
    void method(T t);
}
//对于AImpl来说,其在接入接口时声明了数据类型,其变为普通类
public class AImpl implements A<String>{
   
    @Override
    public void method
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值