Android日常开发(21)androidstudio明明已经使用了jdk1.8,却无法使用泛型推断功能

前言

在1.7版本的时候jdk就引入了泛型类型推断

List<String> list=new ArrayList<>

1.8版本发布后,增强了这个功能,升级为泛型目标类型自动推断

于是我们可以这样写代码:

 List<String> list = new ArrayList<>();
        list.add("A");// 由于addAll期望获得Collection类型的参数,因此下面的语句无法通过   
        list.addAll(new ArrayList<>());

java8里面泛型的目标类型推断主要有2个方面:
1)支持通过方法上下文推断泛型目标类型
2)支持在方法调用链路当中,泛型类型推断传递到最后一个方法

问题回顾

然而我在androidstudio中使用的时候遇到了如下问题:
如图所示:
在这里插入图片描述
Android日常开发(21)androidstudio明明已经使用了jdk1.8,却无法使用泛型推断功能_第1张图片

解决办法

在app的build.gradle 的android节点下面添加compileOptions
Android日常开发(21)androidstudio明明已经使用了jdk1.8,却无法使用泛型推断功能_第2张图片

在这里插入图片描述

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

在这里插入图片描述

结束语

喜欢的点个赞,加个关注吧

你可能感兴趣的:(Android日常开发(21)androidstudio明明已经使用了jdk1.8,却无法使用泛型推断功能)