I am very excited about new Java 8 features, especially lambda expression.
I am jealous that C# had lambda expression when it was introduced in C# 3.0 loooong time ago.
Let me show you a power of lambda expression by simple code example - FileFiter.
Why I choose this example? Well, I have been so frustrated that I always had to write a bit redundant code even if for very simple FileFilter.
Please see following example code. Hope the example attracts you...
If you would like to know more about Java 8, I strongly recommend to read "Java SE 8 for the Really Impatient".
I think this book is the best book for guide to Java 8!
I am jealous that C# had lambda expression when it was introduced in C# 3.0 loooong time ago.
Let me show you a power of lambda expression by simple code example - FileFiter.
Why I choose this example? Well, I have been so frustrated that I always had to write a bit redundant code even if for very simple FileFilter.
Please see following example code. Hope the example attracts you...
package com.dukesoftware.io; import java.io.File; import java.io.FileFilter; public class FileFilters { // legacy file filter - no lambda expression public static final FileFilter DIRECTORY_FILTER_BEFORE_JAVA8_NO_LAMBDA = new FileFilter() { @Override public boolean accept(File pathname) { return pathname.isDirectory(); } }; // basic lambda expression introduced since java 8 public static final FileFilter DIRECTORY_FILTER_JAVA8_LAMBDA_FIRST = (File pathname) -> { return pathname.isDirectory(); }; // okay, you don't need braces for function body public static final FileFilter DIRECTORY_FILTER_JAVA8_LAMBDA_NO_BRACES = (File pathname) -> pathname.isDirectory(); // shortest version! public static final FileFilter DIRECTORY_FILTER_JAVA8_LAMBDA_NO_TYPE = (pathname) -> pathname.isDirectory(); // method reference version (oops, method reference version might be shorter than above one) public static final FileFilter DIRECTORY_FILTER_JAVA8_LAMBDA_METHOD_REFERENCE = File::isDirectory; }
If you would like to know more about Java 8, I strongly recommend to read "Java SE 8 for the Really Impatient".
I think this book is the best book for guide to Java 8!
コメント