黑马程序员技术交流社区
标题:
泛型方法的定义
[打印本页]
作者:
李贺晓
时间:
2012-10-30 16:19
标题:
泛型方法的定义
泛型对其所有可能的类型参数,都具有相同的行为,从而可以把相同的类当成许多不同的类来处理。与此完全一致的是,类的静态变量和方法也在所有的实例间共享,所以在静态方法、静态初始化、静态变量的声明和初始化中不允许使用泛型
但是我看有的程序中定义泛型方法
static <T> void from ArrayToCollection(T[] a,Collection<T>c )
{
for(T o:a)
{
c.add(o);
}
}
这个方法为什么还可以定义成功,泛型不是不能定义静态方法吗?
作者:
李贺晓
时间:
2012-10-30 16:30
仔细看了下,明白是什么原因了
static <T> void from ArrayToCollection(T[] a,Collection<T>c )
{
for(T o:a)
{
c.add(o);
}
}
这个是静态泛型方法
在静态方法中不允许使用泛型是这个样子的
class Apple<T>
{
publci static T info;
public static T getInfo()
{
return this.info;
}
}
这里的静态方法和静态变量不允许使用泛型修饰
作者:
小灰灰
时间:
2012-10-30 16:30
本帖最后由 都彭韬 于 2012-10-30 16:32 编辑
静态函数可以定义泛型啊!
但是静态函数的泛型要单独定义,就向你写的那样。 静态函数的泛型是不可以定义在类上面的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2