在AndroidStudio中设置某项目支持使用Java 8 新特性

简介: 在AndroidStudio中设置某项目支持使用Java 8 新特性

在AndroidStudio中设置某项目支持使用Java 8 新特性

( eg:Lambda 表达式)


(注:如果你是个心急的同学,那就直接看本文的第3点吧——“快捷设置项目支持使用java8的方式”。)


1.情景描述


在AndroidStudio中新建一个项目,以设置支持Lambda表达式为例,写一段Lambda表达式代码。如图:


(注:以下截图中的项目代码,并没有实际运行意义,只是为了说明如何设置、使用支持Java 8的Lambda表达式。)


创建项目:

image.png


附上一段可以变形为Lambda表达式的代码


image.png


如果直接写出Lambda表达式会提示错误,如图:


image.png


2.手动设置支持使用Java8新特性


设置支持使用java8新特性有一个大前提就是,计算机中已安装java8 JDK软件并配置好了相关的环境变量。


为了使AndroidStudio中的上述项目支持使用java8新特性:Lambda表达式等,设置步骤如图:


先找到设置入口,有三种途径:


1)File -----> Project Structrue……

image.png


2)选中项目,鼠标右键……


image.png


3)这是最快捷的设置入口。


image.png


下面正式开始设置步骤,如图:

(第四步是设置资源代码和目标兼容性所支持的java版本,选择下拉菜单中若没有java8版本,就暂时选择最高版本1.7,具体请看图)


image.png


image.png


(第七步是找到项目对应的build.gradle文件,在图中中间的红框位置,手动设置两项--资源代码和目标兼容性,所支持的java版本,更改为Java8版本,具体修改代码如下。最后再同步一下项目就ok了)


compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


位置如图:

image.png


到此时还没结束,同步代码后有可能出现bug:

image.png

需要在build.gradle文件中加如下代码,然后同步,ok。

defaultConfig {
      ...
      jackOptions {
        enabled true
      }
    }


(注:上面只是手动设置支持java8的方式,便于理解。若觉得麻烦,请别着急,继续往下看哦!)


3.快捷设置项目支持使用java8的方式:


前提:计算机中已安装java8 JDK软件并配置好了相关的环境变量。


在项目的build.gradle文件中加如下代码,并同步即可。(注:这里才是本文最核心的部分)

android {  
  ...  
  compileOptions {  
    sourceCompatibility JavaVersion.VERSION_1_8  
    targetCompatibility JavaVersion.VERSION_1_8  
  }  
  defaultConfig {  
    ...  
    jackOptions {  
      enabled true  
    }  
  }  
  ...  
}  

4.如何在项目中使用Lambda表达式


先试试代码效果:


是将原有代码转换成lambda表达式形式

image.png

转换后:

image.png

4.快捷设置支持使用Lambda表达式


上面的方式比较繁琐,是为了让大家清楚如何设置支持使用java8 新特性。


如果只是为了设置支持使用Lambda表达式,那非常简单,如图:


首先先在项目中写一段Lambda表达式,肯定会报错,然后将鼠标放在报错的位置,按快捷键Alt+Enter,会出现提示,然后按图中的显示的位置点击对应操作就Ok了。

image.png

(注:再偷偷教你一招,如果在项目中有看不懂Lambda表达式的表现形式,可以将鼠标放在Lambda表达式位置,然后按快捷键Alt+Enter,会出现如上面图的提示,然后选择倒数第二个的那串英文,将Lambda表达式换回原来的匿名类形式。)

目录
相关文章
|
2月前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
66 2
|
2月前
|
存储 Java
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
41 3
|
2月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
33 2
|
7天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
22 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
16天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
36 4
|
22天前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
30 4
|
22天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
34 3
|
24天前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
40 1
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
存储 Java API
优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。
【10月更文挑战第19天】本文介绍了如何优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。内容包括Map的初始化、使用Stream API处理Map、利用merge方法、使用ComputeIfAbsent和ComputeIfPresent,以及Map的默认方法。这些技巧不仅提高了代码的可读性和维护性,还提升了开发效率。
72 3