IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Un bon développeur est un développeur flemmard !

[Java 8][GitHub]Java 8 In Action

Noter ce billet
par , 12/07/2015 à 14h01 (932 Affichages)
En me documentant sur les stream de Java 8, je suis tombé sur le dépôt GitHub du livre Java 8 In Action.
Note : Je n'ai pas lu le livre.

Même sans lire le livre, les exemples données sont assez intéressant. Cela permet de se familiariser avec les nouveautés Java 8, avec des exemples relativement simple (qui compile) et surtout qui sont centré sur un seulement élément à la fois !

Le code en lui-même à tendance à manquer de commentaire. Du coup, j'ai ma propre version avec un peu plus de commentaire ici (Enfin pas beaucoup plus)

Voici un aperçu :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
        System.out.println("Demonstration of Stream.iterate with fibonnaci implemantation (Only the n value)");
        Stream.iterate(new int[]{0, 1}, t -> new int[]{t[1],t[0] + t[1]})
              .limit(10)
              . map(t -> t[0])  
              .forEach(System.out::println);

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package lambdasinaction.chap3;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ExecuteAround {
 
	public static void main(String ...args) throws IOException{
        // method we want to refactor to make more flexible
		System.out.println("Processing a file with a static method");
        String result = processFileLimited();
        System.out.println(result);
 
        System.out.println("---");
 
        System.out.println("Processing a file with lamdba implementation of an interface");
		String oneLine = processFile((BufferedReader b) -> b.readLine());
		System.out.println(oneLine);
 
		System.out.println("Processing a file with an other lamdba implementation");
		String twoLines = processFile((BufferedReader b) -> b.readLine() + b.readLine());
		System.out.println(twoLines);
 
	}
 
    public static String processFileLimited() throws IOException {
        try (BufferedReader br =
                     new BufferedReader(new FileReader("lambdasinaction/chap3/data.txt"))) {
            return br.readLine();
        }
    }
 
 
	public static String processFile(BufferedReaderProcessor p) throws IOException {
		try(BufferedReader br = new BufferedReader(new FileReader("lambdasinaction/chap3/data.txt"))){
			return p.process(br);
		}
 
	}
 
	public interface BufferedReaderProcessor{
		public String process(BufferedReader b) throws IOException;
 
	}
}

Cordialement,
Patrick Kolodziejczyk.

source :
https://github.com/java8/Java8InAction/
https://github.com/pkolodziejczyk/Java8InAction

Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Viadeo Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Twitter Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Google Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Facebook Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Digg Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Delicious Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog MySpace Envoyer le billet « [Java 8][GitHub]Java 8 In Action » dans le blog Yahoo

Mis à jour 15/07/2015 à 01h33 par kolodz

Catégories
Java

Commentaires

  1. Avatar de lunatix
    • |
    • permalink
    tu as la presentation de josé paumard http://blog.paumard.org/2014/04/03/j...s-sur-parleys/ qui est tres bien aussi
  2. Avatar de kolodz
    • |
    • permalink
    Merci pour le lien. Cela présent relativement bien le contenu de Java 8. Cependant, c'est une approche très démonstratif et didacticiel. Ce qui est, selon moi, une approche très différentes de l'approche travaux pratique.
    D'ailleurs, la section Java de developpez.com est assez pauvre du côté de Java 8 et des Streams. Il y a peut-être un manque à combler de ce côté.

    Cordialement,
    Patrick Kolodziejczyk.