JAVA 类名::方法名的原理?

最近看到一种写法:

<T extends BaseEntity>
T::getId

T为泛型类,getId为BaseEntity中的方法。

T::getId,怎么就得到了id属性,方法怎么也不用括号“getId()”。这种写法叫做什么?

暮色如虹
浏览 2810回答 3
3回答

onemoo

这种写法叫 method reference。method reference 最终会转换为 functional interface 的一个实例。实际上用到 method reference 的地方本来需要的是 functional interface 的实例(你可以看看是不是这样)。 原本你需要自行实例化这个 interface 并且把这个 method 包装在其中。但通过这种 method reference 简化写法,编译器自动帮你作了这样的转换。

疯狂的小蜗牛

获取id属性吧   没有调用方法吧  要不然 编译就报错了啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java