Java数组(2)

        上一期讲解了如何通过自定义Java数组实现对数组功能的扩展,但又不可避免地产生了其他问题。就是这种数组的普适性很差,只能存取对应类型的数据,如果还要存取其他类型的数据的话,又需要重新编写一个数组类。那么有没有一种办法能够只定义一次数组类就可以保存常见的数据类型呢?这就是接下来讲解的内容

一、泛型介绍

        1、引言

                在之前说过,Java是一门面向对象的编程语言,那么我们同样也可以将想要存入数组中的元素视为对象。而Java语言中,所有的类将会继承Object类,因此,我们可以将这些数据类型视为Object类中的属性。这一过程是将实际类型的变量抽象为一个Object变量。因此泛型就是通过对某些类型的抽象,将其转化为参数形式。

二、泛型数组的定义

        1、泛型类定义

                可以在类名后使用<>括号来声明泛型,一般情况下有T、K、E、V等

​
public class newArr1<E> {
     Class<E> typeE; //声明类接收的数据类型
     E [] array; //定义泛型数组
     int size = 0; // 设置数组长度
     int orgSize = 0; //数组初始长度
}

​

        2、数组扩容

  public void arrExtend(E [] arr){
      //判断数组空间是否充足
      if(size + 1 == orgSize){
         E [] newArray = (E[]) Array.newInstance(typeE , 2 * orgSize);
         orgSize *= 2;
         for (int i = 0; i < arr.length; i++) {
            newArray[i] = arr[i];
         }
         this.array = newArray;
      }
   }

                泛型数组的其他操作和普通数组定义相同,只需将传入的值由原先的int改为E泛型即可,具体内容请参考:

(71条消息) Java数组(1)_️771的博客-CSDN博客

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值