java8新特性
Lambda表达式: Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 格式: (parameters) -> expression 或 (parameters) ->{ statements; } 主要作用:用于替代匿名内部类,即可以表示一个接口的实现类。 条件:Lambda表达式要表示的接口,必须只有一个要实现的方法 表达式说明: parameters:传入的参数 expression:可以看成是接口中方法的实现,可以使用parameters中的参数 如: // 1.1使用匿名内部类 new Thread(new Runnable() { @Override public void run() { System.out.println("Hello world !"); } }).start(); // 1.2使用 lambda expression new Thread(() -> System.out.println("Hello world !")).start(); 方法引用: 方法引用是指通过方法的名字来指向一个方法。通过使用一对冒号实现:“::” 默认方法: Java 8 新增了接口的默认方法。简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。 我们只需在方法名前面加个default关键字即可实现默认方法。 Java 8 Stream Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation), 或者大批量数据操作 (bulk data operation)。 1)构造流: // 1. Individual values Stream stream = Stream.of("a", "b", "c"); // 2. Arrays String [] strArray = new String[] {"a", "b", "c"}; stream = Stream.of(strArray); stream = Arrays.stream(strArray); // 3. Collections List<String> list = Arrays.asList(strArray); stream = list.stream(); 2)Stream方法: foreach() 用于遍历集合中每一个元素,并可以对每一个元素进行操作 list.stream().forEach(s-> System.out.println(s)); filter() 留下满足条件的元素,过滤掉不满足条件的元素 list.stream().filter(s -> !s.isEmpty()) //过滤掉为空的元素 map() 将流中的每一个元素映射为指定的元素 list.stream().map(n -> n * n). //将集合中所有的元素转换为大写 limit() 限定从流中获取元素的个数 sorted() 排序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构