java: Arrays.sort () com expressão lambda

Eu quero classificar elementos String no arraymonths por comprimento usandoArrays.sort método. Me disseramaqui, é possível usar expressões lambda em vez de criar uma nova classe implementando o Comparator. Fez exatamente da mesma maneira, mas não funciona.

import java.util.Arrays;
import java.util.Comparator;

public class MainClass {
public static void main(String[] args)
{

    String[] months = {"January","February","March","April","May","June","July","August","September","October","December"};

    System.out.println(Arrays.toString(months)); //printing before


    //neither this works:
    Arrays.sort(months, 
            (a, b) -> Integer.signum(a.length() - b.length())   
    );

    //nor this:
    Arrays.sort(months, 
            (String a, String b) -> { return Integer.signum(a.length() - b.length()) }; 
    );


    System.out.println(Arrays.toString(months)); //printing after
}
}

questionAnswers(2)

yourAnswerToTheQuestion