本人尝试写一个排序的泛型方法,结果因为需要用到compareTo。但在编译器编译的时候发现,并不能使用。
后来翻书的时候发现,需要将写成,才能使用compareto函数!
而对于泛型构造数组,不能用new来构造,只能用
而泛型类的初始化,则用
对于泛型,若要使用compareTo,则不能用int类,得用Integer类
以快速排序为例,源代码如下!
立即学习
“
Java免费学习笔记(深入)
”;
相关文章:
关于java中的 泛型类、泛型方法、泛型接口
Java中的泛型方法
str=(T[])Array.newInstance(a.getClass().getComponentType(),a.length);进行构造sortssort1=new sorts<>(str); Integer[] number=new Integer[lo];import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
class sorts
{
T[] str;
sorts(T[]a){
str=(T[])Array.newInstance(a.getClass().getComponentType(),a.length);
for(int i=0;i=0)lo++;
if(losort1=new sorts<>(str);
// System.out.println(sort1.str.length);
sort1.quick_sort(0,str.length);
// for(String t:sort1.str)System.out.println(t);
//判断数字字符串的个数
String num;
int lo=-1;
do
{
num=sort1.str[++lo];
} while(num.compareTo("A")<0);
Integer[] number=new Integer[lo];
for(int i=0;isort2=new sorts<>(number);
sort2.quick_sort(0,number.length);
// Arrays.sort(number);
for(int i=0;i 