comparar y luego Comparar da error de compilación

Estoy tratando de ordenarList de empleados por nombre y edad usando Java8Comparator, He creado a continuaciónComparator pero me da un error de compilación

Type mismatch: cannot convert from Comparator<Object> to <unknown>

    Comparator<String> c = Comparator.comparing(s -> s.split("\\s+")[0])
            .thenComparingInt(s -> Integer.parseInt(s.split("\\s+")[1])); //compile error

pero funciona si especifico explícitamente el tipo

    Comparator<String> c = Comparator.<String, String> comparing(s -> s.split("\\s+")[0])
            .thenComparingInt(s -> Integer.parseInt(s.split("\\s+")[1])); //works

o creando dosCompartorsy cadena

    Comparator<String> name = Comparator.comparing(s -> s.split("\\s+")[0]);
    Comparator<String> age = Comparator.comparingInt(s -> Integer.parseInt(s.split("\\s+")[1]));
    Comparator<String> cc = name.thenComparing(age); //works

He especificado el tipoComparator<String> en el lado izquierdo, pero por qué la inferencia de tipo automático no encuentra el tipo correcto y espera especificarlo explícitamente.

¿Podría alguien aclarar sobre esto?

Aqui esta el codigo

    String[] arr = { "alan 25", "mario 30", "alan 19", "mario 25" };
    Comparator<String> c = Comparator.<String, String> comparing(s -> s.split("\\s+")[0])
            .thenComparingInt(s -> Integer.parseInt(s.split("\\s+")[1]));
    List<String> sorted = Arrays.stream(arr).sorted(c).collect(Collectors.toList());
    System.out.println(sorted);

salida

[alan 19, alan 25, mario 25, mario 30]

Respuestas a la pregunta(1)

Su respuesta a la pregunta