我想按字母顺序对数组中的字符串进行排序,但是参数类型出现错误。

public class BubbleSort {
 public static String[] sortStringArray(String[] stringArray) {
     int s = stringArray.length;
     String temp;

        for (int i = 0 ; i < s; i++) {
            for (int j = 1; j < (s - i); j++) {
                    String a1 = stringArray[j - 1];
                    String b1 = stringArray[j];
                    int result = a1.compareTo(b1);
                if (result > stringArray[j]) {
                    temp = stringArray[j - 1];
                    stringArray[j - 1] = stringArray[j];
                    stringArray[j] = temp;
                }

            }
        }
    return stringArray;
 }
}

最佳答案

由于要在compareTo(Object)上调用String,因此需要检查结果是否大于零:

if (0 < result) { // i.e. a1 is smaller than b1
    //swap values as usual
}

10-06 10:40