Java7:
File[] hiddenFiles = new File(".").listFiles(new FileFilter() {
public boolean accept(File file) {
return file.isHidden();
}
});
java8:
File[] hiddenFiles = new File(".").listFiles(File::isHidden);
Java 8的方法引用::语法(即“把这
个方法作为值”)将其传给listFiles方法;请注意,我们也开始用函数代表方法了。稍后我们
会解释这个机制是如何工作的。一个好处是,你的代码现在读起来更接近问题的陈述了。方法不
再是二等值了。与用对象引用传递对象类似(对象引用是用new创建的),在Java 8里写下
File::isHidden的时候,你就创建了一个方法引用,你同样可以传递它。