Object概述进一步说明泛型的出现的意义

/*
* 早期的时候,我们使用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);
    }
}

猜你喜欢

转载自blog.csdn.net/My_CODEart/article/details/80426094