关于闭包创建实例的问题

来源:4-11 列表学习(下)

yJJJJJJ

2019-08-21

def list = [5,2,-7,9,22]
//闭包创建实例
Comparator c = {a,b -> a==b ? 0 : Math.abs(a) < Math.abs(b) ? -1 : 1 }
list.sort(c)
println(list)

关于这个闭包的问题

老师我想请教一下
闭包是会创建实例,但是怎么保证闭包创建的实例是Comparator的?
不是还要实现compare()方法么?
麻烦老师答疑,谢谢

写回答

1回答

qq_弹簧_3

2019-09-18

这个跟 java8 的 lamda 表达式很相似吧。虽然底层具体是怎么创建的并不是很清楚。


0
1
qndroid
回答的很正确,这就是个语法糖,你不要简写,试试,一下就看懂了。
2020-04-08
共1条回复

Gradle3.0自动化项目构建技术精讲+企业级案例实操

全面覆盖Gradle核心知识和高级用法,高级工程师必备技能!

877 学习 · 144 问题

查看课程