我正在尝试完成此合并排序方法,但由于某些原因,我会看到错误消息“对于参数类型T,T,运算符
对于if语句

if(a[beginHalf1] <= a[beginHalf2])
      {

        tempArray[index] = a[beginHalf1];
        beginHalf1++;
      }


这是完整的代码

public static <T extends Comparable<? super T>>
    void merge(T[] a, T[] tempArray, int first, int mid, int last){


           int beginHalf1 = first;
           int endHalf1 = mid;
           int beginHalf2 = mid +1;
           int endHalf2 = last;
           int index = 0;

    while((beginHalf1 <= endHalf1) && (beginHalf2 <= endHalf2) )
          {

           if(a[beginHalf1] <= a[beginHalf2]){

           tempArray[index] = a[beginHalf1];
           beginHalf1++;
        }

        else
        {
            tempArray[index]=a[beginHalf2];
            beginHalf2++;
        }
     index++;
    }




    } // end merge

最佳答案

运算符> =

if(a[beginHalf1].compareTo(a[beginHalf2]) <= 0)

09-25 21:04