首页 > 代码库 > 在Android Studio中使用Lambda表达式
在Android Studio中使用Lambda表达式
Lambda表达式是Java 8的一个新特性,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。Lambda表达式同时还提升了对集合的迭代、遍历、过滤数据的操作。那么在Android Studio中如何使用lambda表达式呢?
项目使用的jdk要为jdk 8或更高版本
修改build.gradle文件,enable jack和设置sourceCompatibility,targetCompatibility为jdk 8
defaultConfig {
...
jackOptions {
enabled=true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
然后在项目中就可以愉快使用lambda表达式了,大家感受下:
public class TestActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); findViewById(R.id.button1).setOnClickListener(view -> onButton1()); findViewById(R.id.button2).setOnClickListener(view -> onButton2()); } public void onButton1() { Runnable runnable = () -> Toast.makeText(this, "abcd", Toast.LENGTH_SHORT).show(); runnable.run(); } public void onButton2() { Observable.from(Arrays.asList(1, 2, 3, 4, 5)) .filter(integer -> integer % 2 == 0) .map(integer -> integer * integer) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(integer -> Toast.makeText(this, String.valueOf(integer), Toast.LENGTH_SHORT).show()); } }
在Android Studio中使用Lambda表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。