For the bit of code below, won't it basically compare the same indexes (ex. array[0] with array[0]) ? It's not clear for me.
public static void sort(String[] array) {
        //write your code here
        for (int i = 0; i < array.length; i++){
            for (int j = i; j < array.length; j++){
                if (isGreaterThan(array[i], array[j])) {
                    String temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }
    }