黑马程序员技术交流社区
标题:
泛型定义的位置在哪?
[打印本页]
作者:
杨胜男
时间:
2014-6-10 18:45
标题:
泛型定义的位置在哪?
例如:
集合上什么位置?
函数上什么位置?(静态的和非静态的位置有区别吗?)
作者:
qincai
时间:
2014-6-10 19:15
集合:跟在集合名后面;
函数:放在返回值前面,非静态的加在函数所在的类上就不用加在函数上,静态的只能加在函数上;
作者:
axuan
时间:
2014-6-10 19:23
用于放置泛型的类型参数的尖括号应出现在方法的所有修饰符之后和返回类型之前。
要描述的话,很多话都说不完,直接例子:
@把任意类型的集合元素复制到相应类型的数组中
copy1(new Vector<String>(),new String[10]);
copy2(new Date[10],new String[10]);
//copy1(new Vector<Date>(),new String[10]);
private static<T> void copy1(Collection<T> src,T[] desc){
int i=0;
for(T obj : src){
desc[i++]=obj;
}
}
//把任意类型的数组复制到同类型的另一个数组中
private static<T> void copy2(T[] desc,T[] src){
int i=0;
for(T obj : desc){
src[i++]=obj;
}
}
@打印出任意参数类型中的所有元素
private static<T> void printCollection(Collection<T> collection,T obj2 ){
for(T obj : collection){
System.out.println(obj);
}
collection.add(obj2);
}
@定义一个 方法,可以将任意类型的某个数组填充为相应类型的某个对象
private static<T> void fillArray(T[] a,T obj){
for(int i=0;i<a.length;i++){
a[i] = obj;
}
}
@定义一个 方法,自动将Object类型的对象转换成其它类型
private static<T> T autoConvert(Object obj){
return (T)obj;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2