int no puede ser un error de referencia

Tengo el int no puede ser un error de referencia en el código de abajo donde tengo // el error está aquí. Estoy confundido porque la variable b se usa para hacer referencia a un punto en la matriz empl más adelante en la línea sin mostrar un error. Entonces, ¿cómo soluciono esto y por qué genera un error? Apreciaría cualquier ayuda. El código de ejemplo también sería genial ya que parece ser la forma en que mejor aprendo. ¡Gracias!

public static void bubbleSort(Employee[] empl) { for (int a = 1; a < empl.length; a++) { for (int b = 0; b  0) { // swap employees[b] with employees[b+1] Employee temp = empl[b]; empl[b] = empl[b + 1]; empl[b + 1] = temp; } } } } 

Edición: Cualquier otra sugerencia para clasificar la matriz por Número de empleado es bienvenida.

getEmployeeNumber() aparentemente devuelve un int .

int es un tipo primitivo, no un objeto.
Por lo tanto, no puede llamar a métodos como compareTo() en él.