博为峰小博老师:
[getClass()相同]
看一段代码:
运行结果为:
这意味着,泛型是什么并不会对一个对象实例是什么类型的造成影响,所以,通过改变泛型的方式试图定义不同的重载方法也是不可以的:
[尽量使用精确的类型定义泛型]
尽量使用精确的类型定义泛型,除非必要,否则不要写一个接口或者父类上去:
就像这样,list中的是一个Number类型,往里面添加的是Integer与Double,这样导致get出来的元素也都是Number类型的,失去了子类扩展的功能。如果要让子类变为Interger和Double也可以,(Integer)list.get(0)和(Double)list.get(1)强转就可以了,但是这样不就失去了泛型的意义了吗?所以,尽量用精确的类型去定义泛型。