二、Lambda表达式
JDK8之后,java支持了lambda表达式这个特性.
lambda可以用更精简的代码创建匿名内部类.但是该匿名内部类实现的接口只能有一个抽象方法,否则无法使用!
lambda表达式是编译器认可的,最终会将其改为内部类编译到class文件中
代码案例
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 46 47 48 49 50
   | package lambda;  import java.io.File; import java.io.FileFilter; 
 
 
 
 
 
 
 
 
 
 
  public class LambdaDemo {     public static void main(String[] args) {                  FileFilter filter = new FileFilter() {             @Override             public boolean accept(File pathname) {                 return pathname.getName().contains("o");             }         };                                             FileFilter filter1 = (File pathname) -> {             return pathname.getName().contains("o");         };                           FileFilter filter2 = (pathname) -> {             return pathname.getName().contains("o");         };                  FileFilter filter3 = pathname -> {             return pathname.getName().contains("o");         };                  FileFilter filter4 = pathname -> pathname.getName().contains("o");         File file = new File(".");         File[] files = file.listFiles(pathname -> pathname.getName().contains("o"));         for (int i = 0; i < files.length; i++) {             System.out.println(files[i]);         }     } }
   |