From 7abb332e6f5ab62292f9fc919d5a3fb9a2975db9 Mon Sep 17 00:00:00 2001 From: Matteo Madeddu Date: Tue, 5 Dec 2017 18:07:37 +0100 Subject: [PATCH] Add default methods experiments and notes --- src/Main.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/src/Main.java b/src/Main.java index 7e3ab85..c1ab6a2 100644 --- a/src/Main.java +++ b/src/Main.java @@ -2,8 +2,9 @@ import java.util.List; import java.util.Scanner; import java.util.function.Consumer; +import java.util.function.Function; -public class Main { +public class Main implements Matteo { private static final Main main = new Main(); private int var = 1; @@ -96,8 +97,6 @@ private void step4() { stepperEnd(); - stepperStart(); - integers.forEach( new Consumer() { @@ -131,6 +130,40 @@ private static void step5() { stepperEnd(); + Function mapper1 = x -> new Integer(x); + System.out.println(mapper1.apply("11")); + + Function mapper2 = Integer::new; + System.out.println(mapper2.apply("12")); + + stepperEnd(); + + Consumer consumer1 = x -> System.out.println(x); + consumer1.accept(13); + + Consumer consumer2 = System.out::println; + consumer1.accept(14); + + stepperEnd(); + + Function mapper3 = x -> x.toUpperCase(); + System.out.println(mapper3.apply("abc")); + + Function mapper4 = String::toUpperCase; + System.out.println(mapper4.apply("def")); + + stepperEnd(); + + } + + private static void step6() { + + stepperStart(); + + new Main().printMatteo(); + + stepperEnd(); + } public static void main(String[] args) { @@ -139,7 +172,17 @@ public static void main(String[] args) { step2(); step3(); main.step4(); + step5(); + step6(); + + } + +} + +interface Matteo { + default void printMatteo() { + System.out.print("Matteo\n"); } } \ No newline at end of file