sop(list);
//sop(Collections.sort(list));
//sop(list);
sop(halfSearch1(list,"bb"));
}
public static <Y> int halfSearch1(List<Y> List,Y key)//此处的变量类型该怎么加,我加了与集合一样的类型一直报错。
{
int max,mid,min;
max=List.size()-1;
min=0;
while(min<max)
{
mid=(min+max)>>1;
Y t=List.get(mid);
int num=t.compareTo(key);
if(num>max)
max=mid-1;
else if(mid<0)
min=mid+1;
else
return mid;
}
return -min-1;
}作者: 康大玮 时间: 2012-7-18 07:58
public static int halfSearch(List<String> list,String key)作者: 记得上线 时间: 2012-7-18 08:11
康大玮 发表于 2012-7-18 07:58
public static int halfSearch(List list,String key)
哥们 谢谢,那泛型的怎么加那作者: 记得上线 时间: 2012-7-18 08:20
康大玮 发表于 2012-7-18 07:58
public static int halfSearch(List list,String key)
懂了 谢谢作者: 康大玮 时间: 2012-7-18 08:35
记得上线 发表于 2012-7-18 08:11
哥们 谢谢,那泛型的怎么加那
首先你得明确什么时候定义泛型:是在当类中要操作的引用数据类型不确定的时候。
而那行代码List的类型一定是String,
泛型定义在方法上是为了让不同方法可以操作不同类型,而且类型还不确定。
那么可以将泛型定义在方法上。在这就没有必要 。
给你举个例子吧
class Demo<T>
{
public void show(T t)
{
System.out.println("show:"+t);
}
public <Q> void print(Q q)
{
System.out.println("print:"+q);
}
public static <W> void method(W t)
{
System.out.println("method:"+t);
}
}
class GenericDemo
{
public static void main(String[] args)
{
Demo <String> d = new Demo<String>();
d.show("haha");
//d.show(4);
d.print(5);
d.print("hehe");