一、Kotlin 的匿名函数调用与具名函数调用
fun main(){
//匿名函数调用
showPersonInfo("lilei",18,"男"){
println("$it")
}
//具名函数调用
showPersonInfo("lilei",18,"男",::showResult)
}
fun showResult(str:String):Unit{
println("$str")
}
fun showPersonInfo(name:String,age:Int,sex:String,showResult:(String) -> Unit){
var str = "姓名:$name,性别:$sex,年龄:$age"
showResult(str)
}
###二、Java的匿名函数调用与具名函数调用
interface InterfaceResult{
public void showResult(String str);
}
class InterfaceResultIpm implements InterfaceResult{
@Override
public void showResult(String str) {
System.out.println(str);
}
}
public class KtBase19 {
public static void main(String[] args) {
//匿名方法调用
KtBase19 ktBase19 = new KtBase19();
ktBase19.showPersonInfor("Lilei",18,"男",new InterfaceResult() {
@Override
public void showResult(String str) {
System.out.println(str);
}
});
//具名函数调用
InterfaceResultIpm ipm = new InterfaceResultIpm();
ktBase19.showPersonInfor("Lilei",18,"男",ipm);
}
public void showPersonInfor(String name,int age,String sex,InterfaceResult interfaceResult){
String info = "姓名:"+ name +"性别:"+sex+ "年龄:"+age;
interfaceResult.showResult(info);
}
}
通过对比,Kotln匿名函数与具名函数调用相对更加简洁