黑马程序员技术交流社区
标题:
静态方法上定义泛型???
[打印本页]
作者:
湛添友
时间:
2014-4-15 13:53
标题:
静态方法上定义泛型???
class Sort//这个为什么不行
{
public static <List<Integer>> void sort(List<Integer> li)
{
}
}
class sort//这个为什么可以
{
public static <List>void sort(List l)
{
}
}
class Sort1
{
public static <List> void sort(List<Integer> li) //这个不行
{
}
}
class sort
{
public static <T> void sort(List<Integer> li)// 这个又可以
{
}
}
作者:
ilvsoft
时间:
2014-4-15 14:19
静态方法泛型:
静态方法不可以访问类上定义的泛型
如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上
*/
class Demo<T>
{
public void method(T t)
{
System.out.println("method :"+ t);
}
public static <W> void staticMethod(W w)
{
System.out.println("staticMethod :"+ w);
}
public <K> void show( K k)
{
System.out.println("Show :"+ k);
}
public <Q> void print(Q q)
{
System.out.println("Print :"+ q);
}
}
class TestDemo
{
public static void main(String [] arags)
{
Demo<Double> d = new Demo<Double>();
d.method(3.4);
d.staticMethod(true);
d.show("haha");
d.print(new Integer(4));
}
}
作者:
张稳
时间:
2014-4-15 14:53
我觉得编译中前面尖括号里面的匹配后面尖括号里的,第一个这样写就对了
public static <Integer> void sort(List<Integer> li)
{
}
同理第三个
第二个就好比public static <T> void sort(T li){}T换成具体的list
第四个由于前面的T是任意的可以匹配任意后面尖括号的
感觉你这样写的实际意义不大啊
作者:
湛添友
时间:
2014-4-17 12:55
发现我问的问题好傻啊!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2