4,当某个类型变量在整个参数列表中的所有参数和返回值中的多处被应用了,如果调用方法时多处的实际应用类型对应了不同的类型,并且使用返回值,这时候优先考虑返回值的类型,例如,下面的语句实际对应的类型就是Integer了,编译将报告错误,将变量X的类型改为float 对比eclipse报告的错误提示,接着再将变量X类型改为number则没有错误了
int x = (3,3.5)->static<T> Tadd(T a, T b )
5,参数类型推断具有传递性,下面第一种情况推断实际参数类型为Object 编译没有问题,而第二种情况则根据参数化的Vector类实例将类型变量直接确定为String类型,编译将出现问题:
copy(new Integer[5],new String[5])->static <T>void copy(T[] a,T[] b)