版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tianmaxingkong_/article/details/75452676
现有这么一个函数:
[正确示例]
public <T> T method(T t){
// CODE
return t;
}
上面的代码,在public和method之间有两个部分<T>和T。
其中<T>是为了定义当前我有一个 范型变量类型,类型名使用T来表示,而第二部分T,表示method这个函数的返回值类型为T,其中的<T>只是为了在函数声明前,定义一种范型;因此下面的函数也是合法的:
[正确示例]
public <T> int method1(T t){
// CODE
return 1;
}
上面的函数,<T>也是为了定义一种范型,用来提前声明形参的类型是一个范型变量。
相反的,在使用自定义的范型T之前,如果不首先使用<T>来声明范型变量的存在的话,编译器会有错误提示:
[错误示例]-(没有声明范型变量类型T)
public T method(T t){
// CODE
return t;
}
[错误示例]-(没有声明范型变量类型T)
public int method(T t){
// CODE
return 1;
}