Lambda表达式是基于函数的编程语言,主要作用于匿名函数,可以大大提高代码的可读性和代码的简洁程度。读音和数学上的λ相同。
在Android中的一般写法
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT)
}
});
new Thread(new Runnable() {
@Override
public void run() {
Log.e("MainActivity.java","runing thread");
}
}).start();
使用lambda表达式之后
button.setOnClickListener(view -> Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show());
new Thread(() -> Log.e("MainActivity.java","runing thread lambda")).start();
看到这里你是否已经爱上了lambda表达式了呢?不要着急,慢慢来,由于lambda表达式是在java8过后发布的,所以我们要在app下的bulid.gradle文件下配置一下
//jdk1.8之后
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
很多网上的小伙伴说要配置defaultConfig { jackOptions { enabled=true } },但是我在使用Android studio4.0版本之后发现这个jack已经过时了,所以编译器会报Cause: invalid type code: B6之类的错误。大概意思就是无效代码。
本文介绍了Lambda表达式在Android开发中的应用,强调其提高代码可读性和简洁度的作用。通过对比传统写法和使用Lambda后的代码,展示了Lambda的优势。同时提醒开发者,在Android Studio 4.0及更高版本中,应避免使用已过时的jackOptions配置,以防止编译错误。
272

被折叠的 条评论
为什么被折叠?



