当前位置: 首页 > news >正文

[Java][方法引用]构造方法的引用事例分析

/*以上就是我们采用map方法+new Function(有两个形参 一个传入一个传出)+apply方法接受参数并且返回一个Student类型 最后封装成List集合再用Iterator迭代器进行遍历的一个操作流程 但是我们不禁思考这样做真的便捷吗 我们尝试把map内的代码放到JavaBean Student中去 再考虑问题*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;public class Main{public static void main(String[] args){//创建集合对象ArrayList<String> list = new ArrayList<>();//添加数据Collections.addAll(list,"张无忌,15","周芷若,14","赵敏,13","张强,12","张三丰,100","张翠山,40","张良,35","王二麻子,37");//封装成Student对象并且收集到List中去//我的需求:实现String->Student的转化并且储存在List集合中List<Student> l =  list.stream().map(new Function<String, Student>() {@Overridepublic Student apply(String s){String[] arr = s.split(",");String name = arr[0];int age = Integer.parseInt(arr[1]);return new Student(name,age);}}).collect(Collectors.toList());Iterator it = l.iterator();while(it.hasNext()){System.out.println(it.next());}/*以上就是我们采用map方法+new Function(有两个形参 一个传入一个传出)+apply方法接受参数并且返回一个Student类型 最后封装成List集合再用Iterator迭代器进行遍历的一个操作流程 但是我们不禁思考这样做真的便捷吗 我们尝试把map内的代码放到JavaBean Student中去 再考虑问题*/System.out.println("——————————————————————————————");List<Student> ll = list.stream().map(Student::new).collect(Collectors.toList());Iterator it2 = ll.iterator();while(it2.hasNext()){System.out.println(it2.next());}}
}
public class Student
{String name;int age;public Student() {}public Student (String s){String[] arr = s.split(",");this.name = arr[0];this.age = Integer.parseInt(arr[1]);}public Student(String name, int age) {this.name = name;this.age = age;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return age*/public int getAge() {return age;}/*** 设置* @param age*/public void setAge(int age) {this.age = age;}public String toString() {return "Student{name = " + name + ", age = " + age + "}";}}

相关文章:

  • 不是生活有意思,是你热爱生活它才有意思
  • 基于ssm小区疫情防控管理系统论文
  • Java21新特性-虚拟线程
  • Java_Arrays类
  • 前后端项目,nginx部署前端项目后刷新浏览器报错404的问题
  • 如何在页面中加入百度地图
  • 【LangChain学习之旅】—(1) 何谓 LangChain
  • 级数@常数项级数@正项级数审敛法总结
  • Vasya the Hipster
  • C++ 数据结构知识点合集-C/C++ 数组允许定义可存储相同类型数据项的变量-供大家学习研究参考
  • QT自带打包问题:无法定位程序输入点?metaobject@qsound
  • 在ubuntu上rmp打包:由二进制(安装后的目录)构建rpm包
  • c++ websocket 协议分析与实现
  • 关于#c语言#的问题:分析递归调用的过程◇画出调用过程各语句执行过程
  • TDengine 签约大唐水电院,助力水电时序数据高效写入存储查询
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 「面试题」如何实现一个圣杯布局?
  • 【css3】浏览器内核及其兼容性
  • 【node学习】协程
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • gcc介绍及安装
  • Invalidate和postInvalidate的区别
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript新鲜事·第5期
  • laravel 用artisan创建自己的模板
  • Lsb图片隐写
  • Map集合、散列表、红黑树介绍
  • RxJS: 简单入门
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 坑!为什么View.startAnimation不起作用?
  • 那些年我们用过的显示性能指标
  • 如何解决微信端直接跳WAP端
  • 数据仓库的几种建模方法
  • 算法-插入排序
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 阿里云ACE认证学习知识点梳理
  • 说说我为什么看好Spring Cloud Alibaba
  • !!java web学习笔记(一到五)
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $.ajax()方法详解
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (多级缓存)多级缓存
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • .gitignore文件_Git:.gitignore
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .Net Web项目创建比较不错的参考文章
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。