Arn*_*was 3 java lambda java-8
我是Java 8(Lambda Expression)的新手.下面的代码打印变量"file"指示的路径上的所有目录.
File file = new File("/vssexclude/Test/workspace/Test");
File[] names = file.listFiles(fileName -> fileName.isDirectory());
for (File name : names) {
System.out.println(name.toString());
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试用方法表达式替换lambda表达式时,eclipse会给出编译错误:
File[] names = file.listFiles(File::isDirectory());
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
删除括号:
File[] names = file.listFiles(File::isDirectory);
Run Code Online (Sandbox Code Playgroud)
如果要引用特定类型对象的实例方法,则使用的语法是:
ContainingType::methodName
Run Code Online (Sandbox Code Playgroud)
这里将更详细地描述.
| 归档时间: |
|
| 查看次数: |
640 次 |
| 最近记录: |