怎么取消文件加密(文件怎样取消加密)
784
2022-05-28
Java对泛型和安全容器的基本认知用下面代码来表示:
首先定义一个类为fruit
public class Fruit {
private static int id;
// 定义成静态的,不用每次实例化的时候都开辟一块内存空间,直接用即可
private final int count = id++;
public int id() {
System.out.println("count=" + count);
return count;
}
}
public class Vegetable {
}
public class FruitAndVegetable {
public static void main(String[] args) {
ArrayList fruit = new ArrayList(); // 不加泛型默认都是object类型的
for(int i = 0;i < 10;i++) {
fruit.add(new Fruit());
//在一个容器中,可以理解为盘子,在这个盘子中放入水果,这个盘子默认是什么都能放的盘子
}
fruit.add(new Vegetable());//在容器中放入蔬菜
for(int i = 0;i < fruit.size();i++) {
// 把放进去的实例(水果、蔬菜)进行遍历
((Fruit)fruit.get(i)).id(); //默认取出来是object类型,需要把它转换成你想要的Fruit类型
}
}
count=0
count=1
count=2
count=3
count=4
count=5
count=6
count=7
count=8
count=9
Exception in thread "main"
java.lang.ClassCastException
: test.Vegetable cannot be cast to test.Fruit
at test.FruitAndVegetable.main(
FruitAndVegetable.java:16
)
因为你盘子中放的是Fruit 和 Vegetable ,但是这两者没有任何关系,你只把它转化成Fruit,vegetable类型是不安全的,vegetable类型无法转化为Fruit类型,所以会报错,解决上述问题,只要让他们发生关系即可
解决方法1:
public class Vegetable extends Fruit{
}
只要把上述Object类型的盘子转换为只能放Fruit类型的盘子即可
ArrayList
Java 容器
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。