Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Quebra no importe estático

Pessoal preciso de uma orientação. O exemplo de importe estático do exercício com comparing está recebendo a exceção abaixo. Segue quebra e classe.

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method comparing(String::length) is undefined for the type OrdenarStrings

    at java8.OrdenarStrings.main(OrdenarStrings.java:15)

Classe principal

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class OrdenarStrings {

    public static void main(String[] args) {

        List<String> palavras = new ArrayList<>();
        palavras.add("alura online");
        palavras.add("casa do código");
        palavras.add("caelum");

        palavras.sort(comparing(String::length));
        //palavras.sort(Comparator.comparing(String::length));
        palavras.forEach(t -> System.out.println(t));
    }
}

A utilização de Comparator funciona normalmente. A sugestão de correção do Eclipse sugere criar o método comparing.

2 respostas
solução!

Olá, Carlos.

Você esqueceu de fazer a importação: import static java.util.Comparator.comparing;

Agradeço Edson realmente faltou o import que citou. A IDE do Eclipse Oxygen 3 não sugeriu como correção e CTRL + O não fez import para essa situação. Curiosamente para Lambdas a IDE ainda se perde para completar.