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

Dúvida no Ex. 4 da Aula 3 - Código mais sucinto com Method references

Oi gente! No meu caso, a forma estática do Method refernce dá erro de compilação! veja o código, talvez me ajude

package br.com.caelum.java8.Mehod_references;

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

public class OrdenaStrings2 { public static void main(String[] args) { List lista = new ArrayList<>(); lista.add("alura online"); lista.add("casa do codigo"); lista.add("caelum"); lista.add("galandra ingles");

lista.sort(Comparator.comparing(s -> s.length()));

//Aqui está o problema! lista.sort(comparing(String::length));

lista.forEach(s -> System.out.println(s)); lista.forEach(System.out::println); } }

5 respostas
solução!

Olá Cremildo! Para funcionar você deve realizar o importe estático da seguinte forma:

import static java.util.Comparator.*;

Perceba que da forma como você realizou o import:

import java.util.Comparator;

Você apenas conseguirá utilizar o método da primeira forma que você utilizou. Assim:

Comparator.comparing(s -> s.length())

Espero ter ajudado! Bons Estudos!

Na vedade sim, não sabia que tinha que colocar o modificador static no import!

Só a titulo de curiosidade...

import static ...

esta presente no mundo Java desde a versão 5 da linguagem, mas só agora com o lambda eu estou realmente gostando de usa-lo

Usa se bastante o importe st tico para testes de unidade no Juint com Assert, acho que foi um dos únicos lugares que cheguei a ver o uso do imoport statico

Usa se bastante o importe stático para testes de unidade no Juint com Assert, acho que foi um dos únicos lugares que cheguei a ver o uso do imoport statico