泛型的安全机制使运行时错误转移到了编译时期,主要是为了避免强转时出现的麻烦。
数据类型<尖括号里面我确定了是String类型> 变量名 ;;;当我要new一个对象的时候,却不是我定义好的String类型,虽然Object是GOD,当却不是我要的那个范围。。。自然不让通过
其实这个可以打个比喻~我希望我定义的集合范围是半径为2的圆。可我创建的对象,也就是我真正定义的集合范围是半径为4的圆。用我们平时的眼光去看待,4那么大的圆包含了2,情理之中,可我定义的范围却不需要那么多,多出的部分是我不需要的。所以就会不安全,不安全就会报错。。
而我们在泛型中会使用到Object的时候 是数据类型不确定的时候 为了方便扩展才使用!但并不是说两边可以一个Objct,一边是别的类型,它是定义一个范围,让我们更方便和安全使用。 |