51、Java 方法引用表达式详解

Java 方法引用表达式详解

1. 方法引用表达式概述

方法引用表达式用于引用方法的调用,但并不实际执行该调用。某些形式的方法引用表达式还允许将类实例创建或数组创建视为方法调用。

例如,给定如下调用:

C c = new D();
c.id(new Object());  // 抛出 ClassCastException

实际调用的方法 D.id() 的擦除签名与编译时方法声明 C.id() 不同。前者接受 String 类型的参数,而后者接受 Object 类型的参数。在执行方法体之前,该调用会因 ClassCastException 而失败。这种情况只有在程序产生编译时未检查警告时才会出现,实现可以通过创建桥接方法来强制执行这些语义。在上述示例中,类 D 会创建如下桥接方法:

Object id(Object x) { return id((String) x); }
2. 方法引用表达式的语法形式

方法引用表达式有以下几种形式:
- ExpressionName :: [TypeArguments] Identifier
- Primary :: [TypeArguments] Identifier <

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值