ArrayList集合的缺点和解决办法

在ArrayList眼中所有的元素类型都是Object,所以ArrayList不是类型安全的

ArrayList集合在使用值类型数据时,其实就是在不断地做装箱和拆箱工作,需进行大量的计算。

    装箱:把值类型打包到Object引用类型的一个实例中

    拆箱:指从对象中提取值类型

例如:

foreach(Animal item in arrayAnimal)

在这行代码执行(拆箱)时,只会输出Animal类型的对象。如果在此时ArrayList中有其它类型的对象,在运行(Run)过程中程序就会报错。此时的代价就是要么跳出、要么执行异常处理。

解决方法:

使用泛型(可以规定元素容纳类型的类)来解决问题。泛型使得数据有了规定的类型,那么在进行装箱操作时就进行了检验,使其按照规定的类型装箱。避免的上述ArrayList类型的安全问题和装箱拆箱的性能问题。

List类就是ArrayList类的泛型的等效类。

例如:

List<Animal> arraylist=new List<Animal>();

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值