Android Studio 使用Lambda表达式「详细配置」

本文详细介绍了如何在Android环境中配置和使用Java8的Lambda表达式,通过实例展示了Lambda如何替代传统匿名内部类,使代码变得更加简洁。从安装Java8到配置Android Studio,再到解决乱码问题,每一步都提供了清晰的指导。同时,文章通过对比普通写法与Lambda表达式的用法,突显了Lambda在事件监听和点击回调中的高效应用。

前言:

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。


配置:

1、安装java 8,并在android studio中配置使用;
在这里插入图片描述
2、app build.gradle中配置

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

3、解决用JDK1.8 Lambda表达式中文乱码的问题

gradle.properties文件中配置

org.gradle.jvmargs=-Dfile.encoding=UTF-8

使用:
demo:

		//普通写法
		adapter.setItemClickListener(new SelectAdapter.ItemClickListener() {
            @Override
            public void onClick(int position) {
                Select select = list.get(position);
                startActivity(new Intent(SelectActivity.this, select.getActivity().getClass()));
            }
        });
        //使用Lambda表达式
        adapter.setItemClickListener(position -> {
            Select select = list.get(position);
            startActivity(new Intent(SelectActivity.this, select.getActivity().getClass()));
        });
		//普通写法
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent intent = new Intent(MainActivity.this, SelectActivity.class);
                intent.putExtra("type", position + 1);
                startActivity(intent);
            }
        });

        //使用Lambda表达式
        listView.setOnItemClickListener((parent, view, position, id) -> {
            Intent intent = new Intent(MainActivity.this, SelectActivity.class);
            intent.putExtra("type", position + 1);
            startActivity(intent);
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值