没有合适的资源?快使用搜索试试~ 我知道了~
Java三种语法.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 155 浏览量
2022-06-26
21:44:52
上传
评论
收藏 3.26MB DOCX 举报
温馨提示
试读
13页
一、三种Java 语法 1. 使用一对冒号 :: 表示方法引用; 2. Optional 可选值; 3. 静态of 方法代替构造函数。 二、具体使用方法 1、方法引用 方法引用是一种函数式接口的另一种书写方式,其通过一对双冒号:: 来表示,分为以下三种: 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过实例对象::实例方法,如 str::substring 构造方法引用,通过类名::new, 如 User::new 通过方法引用,可以将方法的引用赋值给一个变量,通过赋值给Function,说明方法引用也是一种函数式接口的书写方式,Lambda表达式也是一种函数式接口,Lambda表达式一般用于自己提供方法体,而方法引用一般直接引用现成的方法。
资源推荐
资源详情
资源评论
Java 语法
Java 语法
摘下面具的一场对话,比穿上铠甲奔赴战场更需要勇气。
背景:今天写接口,看到项目组其他同学写的代码,发现了一些我从未使用的
Java 语法,引以为戒。
一、三种 Java 语法
1. 使用一对冒号 :: 表示方法引用;
2. Optional 可选值;
3. 静态 of 方法代替构造函数。
二、具体使用方法
1、方法引用
方法引用是一种函数式接口的另一种书写方式,其通过一对双冒号:: 来表示,
分为以下三种:
静态方法引用,通过类名:: 静态方法名, 如 Integer::parseInt
实例方法引用,通过实例对象:: 实例方法,如 str::substring
构造方法引用,通过类名::new , 如 User::new
通过方法引用,可以将方法的引用赋值给一个变量,通过赋值给 Function,说明
方法引用也是一种函数式接口的书写方式,Lambda 表达式也是一种函数式接
口,Lambda 表达式一般用于自己提供方法体,而方法引用一般直接引用现成
的方法。
1 package com.tjt.jvm;
2
3 import java.util.function.BiFunction;
4 import java.util.function.Function;
5
6 /**
7 * @time:2020-08-21
8 * @author apple
9 */
10 public final class MethodReference {
11
12 public static void main(String[] args) {
13 // 使用双冒号::来构造静态函数引用
14 Function<String, Integer> function = Integer::parseInt;
15 Integer result = function.apply("18");
16 System.out.println("String 18 parseInt result is: " +
result);
17
18 // 使用双冒号::来构造非静态函数引用
19 String content = "UKing in the North";
20 Function<Integer, String> function1 = content::substring;
21 String result1 = function1.apply(1);
22 System.out.println("content after substring result is: " +
result1);
23
24 // 使用双冒号:: 构造函数引用
25 BiFunction<String, Integer, MethodReference> biFun =
MethodReference::new;
26 MethodReference result2 = biFun.apply("维沃-vivo", 72087963);
27 System.out.println("method constructor result is: " +
result2);
28
29 // 函数引用也是一种函数式接口,所以也可以将函数引用作为方法的参数
30 yellBabe(String::toLowerCase, "WHAT-THE-FUCK");
31 }
32
33 private static void yellBabe(Function<String, String> func,
String param) {
34 System.out.println(func.apply(param));
35 }
36
37 private String workName;
38 private Integer workNumber;
39
40 public MethodReference(String workName, Integer workNumber) {
41 this.workName = workName;
42 this.workNumber = workNumber;
43 }
44
45 @Override
46 public String toString() {
47 return "MethodReference{" +
48 "workName='" + workName + '\'' +
49 ", workNumber=" + workNumber +
50 '}';
51 }
52
53 }
View Code~拍一拍
运行结果如图所示:
剩余12页未读,继续阅读
资源评论
小兔子平安
- 粉丝: 210
- 资源: 1940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功