本文知识点:删除宠物猫信息数据(引入泛型知识点)
使用泛型后,避免强制类型转换带来的潜在隐患潜在错误。(不使用泛型的情况下,可以强制类型转换,但是如果强制类型转换过程中转换错了类型,编译时是不报错的,运行时却会出错)。
但是使用泛型后,强制类型转换错了类型,就一定会报错。并且在引入泛型后,添加数据前类型就已经规定好了,数据类型在添加时就不出错,后续获取数据时也就不需要强制类型转换了。
使用泛型后,添加元素的代码的黄色警告也会消失。
为什么删除花花二代时没有问题,但是删除花花时出现异常了呢?这是因为集合在进行设计的时候,为了避免数据的不一致性做了一个限制:读取数据时,不允许对数据进行删除的。
这时候,有了新问题,上面的例子中,是只有一个满足循环条件的数据(即花花满足)需要被删除,我们在增强型for循环遍历的过程中,通过添加break语句即可解决;如果我们想在循环中有多个满足条件的数据需要删除(即集合中我们想要移除多个元素),该怎么处理呢?
1、只删除一个元素:增强型for循环,删除后break跳出循环
2、删除多个元素将需要删除的满足条件的元素添加到一个集合(子集)中,再使用removeAll()方法
THE END