/*
* 早期的时候,我们使用Object来代表任意的类型。
* 向上转型是没有任何问题的,但是在向下转型的时候其实隐含了类型转换的问题。
* 也就是说这样的程序其实并不是安全的。所以Java在JDK5后引入了泛型,提高程序的安全性。
*/
ObjectTool .java
package fangxing;
public class ObjectTool {
private Object object;
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
}
ObjectToolDemo.java
package fangxing;
/*
* 早期的时候,我们使用Object来代表任意的类型。
* 向上转型是没有任何问题的,但是在向下转型的时候其实隐含了类型转换的问题。
* 也就是说这样的程序其实并不是安全的。所以Java在JDK5后引入了泛型,提高程序的安全性。
*/
public class ObjectToolDemo {
public static void main(String[] args) {
ObjectTool ot = new ObjectTool();
// 正常使用
ot.setObject(new Integer(27));
Integer i = (Integer) ot.getObject();
System.out.println("年龄是:" + i);
ot.setObject(new String("林青霞"));
String s = (String) ot.getObject();
System.out.println("姓名是:" + s);
System.out.println("---上面的用法是完全没有问题的-----");
ot.setObject(new Integer(30));
// ClassCastException
String ss = (String) ot.getObject();
System.out.println("姓名是:" + ss);
}
}