Mudanças entre as edições de "Exemplos de Method Reference"
De Basef
(Criou página com 'Supondo que temos uma lista de palavras como abaixo: <source lang="java"> List<String> palavras = new ArrayList<>(); palavras.add("alura online"); palavras.add("editora casa...') |
|||
| (3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 11: | Linha 11: | ||
Segue abaixo alguns exemplos de Method Reference do Java 8: | Segue abaixo alguns exemplos de Method Reference do Java 8: | ||
| − | Exemplo 1: | + | '''Exemplo 1:''' |
<source lang="java"> | <source lang="java"> | ||
| Linha 23: | Linha 23: | ||
</source> | </source> | ||
| − | Que é similar ao seguinte código sem Lambda: | + | Que é similar ao seguinte, código sem Lambda, usando classe anônima: |
<source lang="java"> | <source lang="java"> | ||
| Linha 35: | Linha 35: | ||
Os códigos acima estão usando o novo método default do Java 8 "comparing". Este método recebe uma implementação de "Function", uma interface também do Java 8. | Os códigos acima estão usando o novo método default do Java 8 "comparing". Este método recebe uma implementação de "Function", uma interface também do Java 8. | ||
| + | |||
| + | '''Exemplo 2:''' | ||
| + | |||
| + | Segue abaixo outro exemplo de Method Reference do Java 8: | ||
| + | |||
| + | <source lang="java"> | ||
| + | palavras.forEach(System.out::println); | ||
| + | </source> | ||
| + | |||
| + | Este código é similar ao seguinte Lambda: | ||
| + | |||
| + | <source lang="java"> | ||
| + | palavras.forEach(s -> System.out.println(s)); | ||
| + | </source> | ||
| + | |||
| + | Que é similar ao seguinte código, sem Lambda, usando classe anônima: | ||
| + | |||
| + | <source lang="java"> | ||
| + | palavras.forEach(new Consumer<String>() { | ||
| + | @Override | ||
| + | public void accept(String s) { | ||
| + | System.out.println(s); | ||
| + | } | ||
| + | }); | ||
| + | </source> | ||
| + | |||
| + | [[Category:Java]] | ||
Edição atual tal como às 23h50min de 8 de julho de 2017
Supondo que temos uma lista de palavras como abaixo:
List<String> palavras = new ArrayList<>(); palavras.add("alura online"); palavras.add("editora casa do codigo"); palavras.add("caelum");
Segue abaixo alguns exemplos de Method Reference do Java 8:
Exemplo 1:
palavras.sort(Comparator.comparing(String::length));
O código acima é similar ao Lambda:
palavras.sort(Comparator.comparing(s -> s.length()));
Que é similar ao seguinte, código sem Lambda, usando classe anônima:
palavras.sort(Comparator.comparing(new Function<String, Integer>() { @Override public Integer apply(String s) { return s.length(); } }));
Os códigos acima estão usando o novo método default do Java 8 "comparing". Este método recebe uma implementação de "Function", uma interface também do Java 8.
Exemplo 2:
Segue abaixo outro exemplo de Method Reference do Java 8:
palavras.forEach(System.out::println);
Este código é similar ao seguinte Lambda:
palavras.forEach(s -> System.out.println(s));
Que é similar ao seguinte código, sem Lambda, usando classe anônima:
palavras.forEach(new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } });