E[] firstHalf = (E[]) new Object[list.length / 2];
你这里E编译器只能认定他是Comparable的类型,而你把一个Object直接转肯定出错。Object没实现Comparable接口。而且我建议你别这么用,这个时候你已经知道泛型是Comparable类型了为什么还要用泛型。
而且其实你这个方法系统本身就已经存在了:
public static
Object[] a = list.toArray();
Arrays.sort(a);
ListIterator
for (int j=0; j
i.set((T)a[j]);
}
}
这是Collections类源代码,你看下,很简洁,很值得参考的哦!
for(Object element:str)
这一句中的element不能被转换为String