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语句?


望大神解答!!

-------------------谢谢

1个回答

因为lambda表达式里面的参数是强类型的,比如你的e,这里只能是 entityOne,所以如果你要 entityTwo,要么必须
entityTwo和entityOne抽象出一个接口来,都包含parameterTwo字段,或者用Object类型作为参数,表达式内用反射(但是效率比较差)获取字段。


class entityDto

{
private String parameterTwo;

private String parameterFour;
public entityDto(String a, String b)
{
parameterTwo=a; parameterFour=b;
}
}

List list= entityOnelist.stream().map(e->new entityDto(e.parameterTwo, e. parameterFour)).collect(Collectors.toList())

qq_27492547
山水有相逢& 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 看到了 ,谢谢
9 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 看我更新的回答
9 个月之前 回复
qq_27492547
山水有相逢& 回复山水有相逢&取出entityOne中的某几个元素 然后用entityDTO 接收 ,用lambda表达式解决不了么,哪请问,可以有一些更优雅的解决么
9 个月之前 回复
qq_27492547
山水有相逢& 我问题更新了下问题 ,是取出entityOne众的parameterTwo 和 parameterFour
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
一个关于C#的lambda表达式传递的问题

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

java8的lambda表达式的适用范围?

求好心人详细说明一下java8中加入的新特性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(() -> { }); } ``` 怎么去识别调用到哪个方法。

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次?

关于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表达式的运行 过程

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

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>

java lambda表达式 list操作

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

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)

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表达式的返回类型的问题

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) 请问是书上错了么,还是编译器进行了优化???

python中,使用lambda表达式定义函数,调用与返回值的问题

#使用lambda表达式定义一个函数 >>> f = (lambda x: map(sys.stdout.write, x)) #调用f >>> t = f(['a', '1']) #返回 a1 #调用f >>> f(['a', '1']) #返回 a1[None, None] #请问第二次调用时为什么会返回a1[None, None],原理是什么

python 的lambda表达式对列表是怎么处理的啊

``` s=['0254555','sadfasf','12aasf'] b=lambda a:':'.join(a) c=b(s) print(c) ``` 这个输出为什么是0254555:sadfasf:12aasf,而不是:0254555:sadfasf:12aasf。这个输出是怎么来的啊?实在是想不通,求各位大佬解答一下

项目使用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)

lambda表达式相关,将判断改写

如何能将如下代码里的判断用lambda表达式代替,主要是我图里框起来的部分,万分感谢 ``` //获取当前登录用户授权的行政区划编码 List<string> AreaCodeList = area.GetUserDistrictCode(AreaCode); if (string.IsNullOrEmpty(queryJson)) { return this.BaseRepository("ground_report", "MySql").FindList(a => true, pagination).ToList(); } else { Expression<Func<Grw_MonitorPointEntity, bool>> exp = a => true; if (HydGeoUnit1 != "") exp = exp.And(a => a.HydGeoUnit1.Contains(HydGeoUnit1)); if (HydGeoUnit2 != "") exp = exp.And(a => a.HydGeoUnit2.Contains(HydGeoUnit2)); if (InputValue != "") exp = exp.And(a => a.MonitorPointID.Contains(InputValue)); exp = exp.And(a => a.Year == Year); if (AreaCode != "00")//非全国 { if (AreaCodeList != null)//授权的行政区划List不为空 { if (AreaCodeList[0] != "000000")//非最高级别 { if (AreaCodeList.Count > 1) { //不知道咋写 } else { exp = exp.And(a => a.AreaCode.StartsWith(AreaCodeList[0].Substring(0, AreaCode.Length))); } } } } } ```

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 ```

lambda表达式中怎么统计数据库数据

**怎么获取所有编号的所有金额** ----------------- ![alt text][1] [1]: http://img.my.csdn.net/uploads/201411/23/1416723823_1392.jpg

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

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

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# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问