为什么 Kotlin 调用 java 时可以使用 Lambda

发布网友 发布时间:2022-04-23 12:59

我来回答

1个回答

热心网友 时间:2022-05-05 00:00

1. Kotlin 中的 Lambda 表达式

如果你已经开始使用 Koltin, 或者对它有过一些了解的话,那么一定对这种写法并不陌生了:

// 代码一:Kotlin 代码view.setOnClickListener{
println("click")
}1234

它跟下面这段 Java 代码是等价的:

// 代码二:java 代码view.setOnClickListener(new View.OnClickListener() {    @Override
public void onClick(View v) {
System.out.println("click");
}
});1234567

和 Java8 一样,Kotlin 是支持 Lambda 表达式的,如代码一所示,就是 Lambda 的一个具体应用。

可见,使用 lambda 减少了很多冗余,使代码写起来更简洁优雅,读起来也更顺畅自然了。

但是,你有没有想过,为什么 Kotlin 可以这样写,这里为什么可以使用 lambda ?

2. 为什么可以这么写?

在 Kotlin 中,一个 Lambda 就是一个匿名函数。

代码一其实是对下面代码三的简写:

// 代码三:Kotlin 代码view.setOnClickListener({
v -> println("click")
})1234

之所以简写成代码一的样子,是基于这两点特性:

热心网友 时间:2022-05-05 00:02

1. Kotlin 中的 Lambda 表达式

如果你已经开始使用 Koltin, 或者对它有过一些了解的话,那么一定对这种写法并不陌生了:

// 代码一:Kotlin 代码view.setOnClickListener{
println("click")
}1234

它跟下面这段 Java 代码是等价的:

// 代码二:java 代码view.setOnClickListener(new View.OnClickListener() {    @Override
public void onClick(View v) {
System.out.println("click");
}
});1234567

和 Java8 一样,Kotlin 是支持 Lambda 表达式的,如代码一所示,就是 Lambda 的一个具体应用。

可见,使用 lambda 减少了很多冗余,使代码写起来更简洁优雅,读起来也更顺畅自然了。

但是,你有没有想过,为什么 Kotlin 可以这样写,这里为什么可以使用 lambda ?

2. 为什么可以这么写?

在 Kotlin 中,一个 Lambda 就是一个匿名函数。

代码一其实是对下面代码三的简写:

// 代码三:Kotlin 代码view.setOnClickListener({
v -> println("click")
})1234

之所以简写成代码一的样子,是基于这两点特性:

热心网友 时间:2022-05-05 00:02

1. Kotlin 中的 Lambda 表达式

如果你已经开始使用 Koltin, 或者对它有过一些了解的话,那么一定对这种写法并不陌生了:

// 代码一:Kotlin 代码view.setOnClickListener{
println("click")
}1234

它跟下面这段 Java 代码是等价的:

// 代码二:java 代码view.setOnClickListener(new View.OnClickListener() {    @Override
public void onClick(View v) {
System.out.println("click");
}
});1234567

和 Java8 一样,Kotlin 是支持 Lambda 表达式的,如代码一所示,就是 Lambda 的一个具体应用。

可见,使用 lambda 减少了很多冗余,使代码写起来更简洁优雅,读起来也更顺畅自然了。

但是,你有没有想过,为什么 Kotlin 可以这样写,这里为什么可以使用 lambda ?

2. 为什么可以这么写?

在 Kotlin 中,一个 Lambda 就是一个匿名函数。

代码一其实是对下面代码三的简写:

// 代码三:Kotlin 代码view.setOnClickListener({
v -> println("click")
})1234

之所以简写成代码一的样子,是基于这两点特性:

热心网友 时间:2022-05-05 00:02

1. Kotlin 中的 Lambda 表达式

如果你已经开始使用 Koltin, 或者对它有过一些了解的话,那么一定对这种写法并不陌生了:

// 代码一:Kotlin 代码view.setOnClickListener{
println("click")
}1234

它跟下面这段 Java 代码是等价的:

// 代码二:java 代码view.setOnClickListener(new View.OnClickListener() {    @Override
public void onClick(View v) {
System.out.println("click");
}
});1234567

和 Java8 一样,Kotlin 是支持 Lambda 表达式的,如代码一所示,就是 Lambda 的一个具体应用。

可见,使用 lambda 减少了很多冗余,使代码写起来更简洁优雅,读起来也更顺畅自然了。

但是,你有没有想过,为什么 Kotlin 可以这样写,这里为什么可以使用 lambda ?

2. 为什么可以这么写?

在 Kotlin 中,一个 Lambda 就是一个匿名函数。

代码一其实是对下面代码三的简写:

// 代码三:Kotlin 代码view.setOnClickListener({
v -> println("click")
})1234

之所以简写成代码一的样子,是基于这两点特性:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com