java文件过滤器里的lambda表达式问题
 import java.io.File;
public class FileNameTest
{
    public static void main(String[] args) {
        File file = new File(".");
        String[] nameList =  file.list((dir, name) -> name.endsWith(".java")||new File(name).isDirectory());
        for(String name:nameList)
        {
            System.out.println(name);
        }
    }
}

这个程序里面,lambda表达式那里new File(name).isDirectory作用是什么呢?直接以".java"结尾不可以吗?

4个回答

你能保证文件夹不会是.java结尾的吗?最好是先判断是文件还是目录,然后判断type。

没什么,就当是一个普通的代码而已,new一个File对象,判断路径是否是文件夹

new File(name).isDirectory 判断文件是否是文件夹,name.endsWith(".java")判断是否是以".java"结尾的文件

明白了,谢谢大家了!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java8的lambda表达式的适用范围?

求好心人详细说明一下java8中加入的新特性lambda表达式的适用范围,什么时候用lambda方便,什么时候不适合用?

java lambda表达式 list操作

假设有2个list,listA 有 {对象1,对象2,对象3,对象4,对象5,对象6对象,对象7} listB有{2,5},现在我想出去,对象中 id有属性 和 listB 中数组相同的数据,现在我想 取出listA中 对象 id和 listB相同的list集合

有关Java8Lambda表达式实例化接口问题

1.Lambda为什么可以实例化一个接口? 2.实例化一个接口,除了常规方式(new一个实现接口的对象,单实力模式、工厂模式),还有什么方式?有没有类似使用内部类的实现方式(类似下面错误代码的 interface Converter{ Integer converter(String from); } public class testLambda { public static void main(String[] args) { // Converter converter1 =from -> Integer.valueOf(from); // Integer var =converter1.converter("99"); // System.out.println(var); //错误代码如下: Converter converter2 = new InnCl extends Converter{ String a ="99"; converter(a) { return Integer.valueOf(a); } } } }

一个关于C#的lambda表达式传递的问题

C#中如何让lambda表达式返回另一个lambda表达式?lambda表达式可以传递么?

jdk1.8的lambda表达式

jdk1.8的lambda表达式,当两个方法的名称相同,但是参数类型不同,lambda表达式怎么写的 ``` public static void execute(Future<Integer> future){ future = cs.submit(() -> { return 1; }); } public static void execute(Runnable runnable){ threadPool.execute(runnable); } ``` 类似这种, ``` public static void main(String[] args) { execute(() -> { }); } ``` 怎么去识别调用到哪个方法。

eclipse4.8版本编译Java8的lambda表达式报错 急急急!

新入职,公司用的Java8。然后新装了eclipse,版本是4.8.0![图片说明](https://img-ask.csdn.net/upload/201806/21/1529587054_858055.png) 但是编写的lambda表达式,一直报编译报错。![图片说明](https://img-ask.csdn.net/upload/201806/21/1529587127_400906.png) jdk我是配置的1.8,如图![图片说明](https://img-ask.csdn.net/upload/201806/21/1529587188_740674.png) eclipse配置的编译器也是1.8![图片说明](https://img-ask.csdn.net/upload/201806/21/1529587288_846226.png)

关于Lambda表达式的报错问题?

package Against; import Object.LambdaQs; interface Eatable { void taste(); } interface Flyable { void fly(String weather); } interface Addable { int add(int a,int b); } public class LambdaQS { //调用该方法需要Eatable对象 public void eat(Eatable e) { System.out.println(e); e.taste(); } //调用该方法需要Flyable对象 public void drive(Flyable f) { System.out.println("我正在驾驶:"+f); f.fly("清空如洗的晴日"); } //调用该方法需要Addable对象 public void test(Addable add) { System.out.println("5与3的和为"+add.add(5, 3)); } public static void main(String[] args) { LambdaQs lq=new LambdaQs(); //Lambda表达式的代码块只有一条语句,可以省略花括号 lq.eat(()-> System.out.println("苹果的味道不错!")); //lambda表达式的形参列表只有一个形参是,可以省略圆括号 lq.drive(weather-> { System.out.println("今天天气是:"+weather); System.out.println("直升机飞行平稳"); }); //代码块只有一条语句的时候,可以省略花括号,如果代码块中只有一条语句,几十该表达式需要返回值,也可以省略return关键字 lq.test((a,b)->a+b); } } Eclipse: Exception in thread "main" java.lang.Error: Unresolved compilation problems: The type Eatable from the descriptor computed for the target context is not visible here. The method drive(Flyable) in the type LambdaQs is not applicable for the arguments ((<no type> weather) -> {}) The type Flyable from the descriptor computed for the target context is not visible here. The method test(Addable) in the type LambdaQs is not applicable for the arguments ((<no type> a, <no type> b) -> {}) The type Addable from the descriptor computed for the target context is not visible here. at Against.LambdaQS.main(LambdaQS.java:39) 我用的JDK是支持Java8的

一个关于c# lambda表达式的问题!!!!!!

lambda表达式是基于委托的,因此创建lambda表达式需要依赖委托。但是我今天在书上看见有一段代码这样写的public int AnonymousMethod(int x) => x + someVal;左面应该是函数声明,右面是lambda表达式,并没有依赖委托,编译器也不会报错 这是为什么??? 还有lambda表达式为什么必须依赖委托创建?

关于lambda表达式的返回类型的问题

C++primer说![图片说明](https://img-ask.csdn.net/upload/201703/16/1489650507_129465.png) 本人编译器是vs2015,不加返回类型并不报错啊???![图片说明](https://img-ask.csdn.net/upload/201703/16/1489650596_814431.png) 请问是书上错了么,还是编译器进行了优化???

Java的lambda表达式可以实现类似sql的inner join的操作吗?

Java的lambda表达式可以实现类似sql的inner join的操作吗?

关于一个Callback Lambda表达式的问题?

问题如下,请问以下,Callback的Lambda该如何写。 ![图片说明](https://img-ask.csdn.net/upload/201810/21/1540092046_727032.png)

lambda表达式,可以取出其中几个元素么

有这么个实体类 --- 实体类一: entityOne ``` private Integer parameterOne private String parameterTwo private String parameterThree private String parameterFour ``` --- 实体类一: entityDto ``` private String parameterTwo private String parameterFour ``` --- 现在我 select * from entity 查询, 返回一个 List < entityOne > entityOnelist 的结果 ,一般我想要用Lambda表达式 来取出parameterTwo,可以这么写 ``` List list= entityOnelist.stream().map(e->e.getparameterTwo).collect(Collectors.toList()) ``` --- 但我现在想取出parameterTwo和parameterFour 改怎么用Lambda表达式写, 然后用DTO去接收? 还是说我得重新在写一个sql语句? --- 望大神解答!! -------------------谢谢

如何使用Lambda表达式对Map进行分组?

有如下数据 我想对该数据进行分组(按camp阵营进行分组) 但是我不知道该怎么写,求大神指教 ``` package com.renguanyu.demo.lambda; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Data { public static List<Map<String,Object>> getSanGuoMaps(){ List<Map<String,Object>> maps = new ArrayList<>(); Map<String,Object> map1 = new HashMap<>(); map1.put("id", 1); map1.put("name", "刘备"); map1.put("height", 175.01); map1.put("camp", "蜀"); Map<String,Object> map2 = new HashMap<>(); map2.put("id", 2); map2.put("name", "关羽"); map2.put("height", 180.00); map2.put("camp", "蜀"); Map<String,Object> map3 = new HashMap<>(); map3.put("id", 3); map3.put("name", "张飞"); map3.put("height", 190.00); map3.put("camp", "蜀"); Map<String,Object> map4 = new HashMap<>(); map4.put("id", 4); map4.put("name", "吕布"); map4.put("height", 190.00); map4.put("camp", "其他"); maps.add(map1); maps.add(map2); maps.add(map3); maps.add(map4); return maps; } } ``` ``` package com.renguanyu.demo.lambda; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Demo1 { public static void main(String[] args) { List<Map<String, Object>> sanGuoMaps = Data.getSanGuoMaps(); System.out.println(sanGuoMaps); // sanGuoMaps.stream().collect(Collectors.groupingBy(Map::get("name"))); } } ```

lambda表达式的运行 过程

求大神帮忙一下 这个lambda怎么一步一步的运行的,lambda表达式的运行 过程 它的捕获列表的值是什么时候生成的,怎么生成的,

c++ lambda表达式相关代码的疑惑?

``` #include <iostream> using namespace std; #include <functional> #include <memory> class Value { public: Value() { cout << "Value()" << endl; } Value(const Value &v) { this->a = v.a; cout << "Value(const Value &v)" << endl; } ~Value() { cout << "~Value()" << endl; } Value &operator=(const Value &v) { this->a = v.a; cout << "Value& operator=(const Value &v)" << endl; return *this; } int a; }; std::function<void()> func; void test1() { Value v; v.a = 10; auto func1 = [v]() { cout << "a:" << v.a << endl; }; func1(); } void test2() { Value v; v.a = 20; func = [v]() { cout << "a:" << v.a << endl; }; } int main() { test1(); cout << "####################" << endl; test2(); cout << "####################" << endl; func(); system("pause"); } ``` 输出的结果是: Value() Value(const Value &v) a:10 ~Value() ~Value() #################### Value() Value(const Value &v) Value(const Value &v) Value(const Value &v) ~Value() ~Value() ~Value() #################### a:20 1. 为什么test1()里只调用了一次拷贝构造函数,而test2() 函数里 Value的拷贝构造函数调用了3次? 2. 为什么test2()里有4个构造函数而析构函数只调用了3次?

C# DataTable lambda表达式 三表关联查询问题

我有三个表,Sales,Customer,Order,其中Sales表包含SalesID,Customer中包含SalesID和CustomerID,Order中包含CustomerID和OrderID。 问题:使用lambda表达式,通过SalesID查出Order中所有与Sales ID相关的OrderID。 自己搞定了。 ``` using System.Linq; using System.Data; using System; namespace ThreeTables { class Program { static void Main(string[] args) { //创建Sales DataTable DataTable salesDataTable = new DataTable(); salesDataTable.Columns.Add("SalesID", typeof(string)); salesDataTable.Rows.Add("01"); salesDataTable.Rows.Add("02"); //创建Customer DataTable DataTable customerDataTable = new DataTable(); customerDataTable.Columns.Add("SalesID", typeof(string)); customerDataTable.Columns.Add("CustomerID", typeof(string)); customerDataTable.Rows.Add("01", "0101"); customerDataTable.Rows.Add("01", "0102"); customerDataTable.Rows.Add("02", "0201"); customerDataTable.Rows.Add("02", "0202"); //创建Orders DataTable DataTable orderDataTable = new DataTable(); orderDataTable.Columns.Add("CustomerID", typeof(string)); orderDataTable.Columns.Add("OrderID", typeof(string)); orderDataTable.Rows.Add("0101", "010101"); orderDataTable.Rows.Add("0101", "010102"); orderDataTable.Rows.Add("0201", "020101"); orderDataTable.Rows.Add("0201", "020102"); orderDataTable.Rows.Add("0202", "020201"); //根据salesID关联三表查出与SalesID相关的所有订单 string orderid = Console.ReadLine(); var result = salesDataTable.AsEnumerable().Where(x => x["SalesID"].ToString() == orderid) .Join(customerDataTable.AsEnumerable(), a => a["SalesID"].ToString(), b => b["SalesID"].ToString() , (a, b) => new { SalesID = a.Field<string>("SalesID"), CustomerID = b.Field<string>("CustomerID") }) .Join(orderDataTable.AsEnumerable(), c => c.CustomerID, d => d["CustomerID"].ToString() , (c, d) => new { SalesID = c.SalesID, CustomerID = c.CustomerID, OrderID = d.Field<string>("OrderID").ToString() }).ToList(); foreach(var s in result) { Console.WriteLine(s.SalesID + " " + s.CustomerID + " " + s.OrderID); } Console.Read(); } } } ```

Lambda表达式对于不确定类型的参数类型推断

对于不确定类型泛型,Lambda表达式是怎么推断出参数类型的呢? PriorityQueue构造方法: ``` public PriorityQueue(Comparator<? super E> comparator) { this(11, comparator); } ``` 使用Lambda表达式创建对象 ``` public static void main(String[] args) { PriorityQueue<Integer> left = new PriorityQueue<Integer>( (o1, o2)-> { System.out.println(o1.getClass().getName()); return o1 - o2; } ); left.add(1); left.add(2); } ``` 运行发现o1类型自动设定为Integer,而不是Object,还是说将PriorityQueue的泛型默认认定为Comparator的泛型类型。 ``` java.lang.Integer Process finished with exit code 0 ```

Go是否具有lambda表达式或类似内容?

<div class="post-text" itemprop="text"> <p>Does Go support lambda expressions or anything similar?</p> <p>I want to port a library from another language that uses lambda expressions (Ruby).</p> </div>

项目使用lambda表达式后启动报错,求大神解决

今天尝试在项目中使用lambda 结果启动就报错,无法初始化bean 做过测试,只要使用了lambda就启动报错, 项目就加了这一段代码 ``` List<Integer> loanIds = excuteLoanPhaseList.stream().map(LoanPhase::getLoanId).collect(Collectors.toList()); ``` 启动报错log: ![log1](https://img-ask.csdn.net/upload/201805/24/1527131955_11396.png) ![log2](https://img-ask.csdn.net/upload/201805/24/1527131976_228411.png) ![log3](https://img-ask.csdn.net/upload/201805/24/1527131995_679000.png) ![log4](https://img-ask.csdn.net/upload/201805/24/1527132010_47368.png)

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问