泛型01
2021-11-26 本文已影响0人
哈迪斯Java


package All.D13.Generic_;
public class Demon01 {
Object over;
public Object getOver() {
return over;
}
public void setOver(Object over) {
this.over = over;
}
public static void main(String[] args) {
Demon01 D1 = new Demon01();
Demon01 D2 = new Demon01();
D1.setOver(true);
D2.setOver(12.33F);
boolean b=(boolean) D1.getOver();
System.out.println(b);
float f=(float) D2.getOver();
System.out.println(f);
int i=(int) D2.getOver();
System.out.println(i);//运行会报错
}
}
true
12.33
Exception in thread "main" java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Integer
at All.D13.Generic_.Demon01.main(Demon01.java:27)
================
package All.D13.Generic_;
public class Demon02 <T>{
T over;
public T getOver() {
return over;
}
public void setOver(T over) {
this.over = over;
}
public static void main(String[] args) {
Demon02<Boolean> d1 = new Demon02<Boolean>();
d1.setOver(true);
boolean b=d1.getOver();
Demon02<Integer> d2 = new Demon02<Integer>();
d2.setOver(12344);
int i= d2.getOver();
System.out.println(b);
System.out.println(i);
}
}
输出为:
true
12344
Process finished with exit code 0