idea编译报 “java: -source 1.5 中不支持 diamond 运算符“ 的问题
时间: 2023-09-05 18:11:05 浏览: 78
这个问题通常发生在您正在使用的Java版本低于1.7时。Diamond运算符是Java 1.7的新特性,它允许您在不指定泛型类型的情况下创建泛型实例。如果您的项目在低于1.7的Java版本上编译,则无法使用Diamond运算符。
要解决此问题,您可以尝试以下两种方法之一:
1. 升级您的Java版本至1.7或更高版本。
2. 手动指定泛型类型,而不使用Diamond运算符。
如果您选择第二种方法,则需要在代码中将Diamond运算符替换为显式指定的泛型类型。例如,将以下代码:
```
List<String> myList = new ArrayList<>();
```
替换为:
```
List<String> myList = new ArrayList<String>();
```
这应该解决您遇到的编译错误。
相关问题
idea中编译时java: -source 1.6 中不支持 diamond 运算符
在 Java 1.6 版本中,diamond 运算符(<>)是不被支持的。diamond 运算符在 Java 1.7 版本中被引入,它可以让编译器根据上下文推断出泛型的类型参数,从而简化代码编写。在 Java 1.6 中,如果要使用泛型,需要明确地指定泛型的类型参数。例如,使用 ArrayList 类时,需要这样声明:
```java
ArrayList<String> list = new ArrayList<String>();
```
而在 Java 1.7 及以后的版本中,可以使用 diamond 运算符来省略泛型的类型参数:
```java
ArrayList<String> list = new ArrayList<>();
```
所以,在使用 -source 1.6 编译选项时,编译器会报错,提示 diamond 运算符不被支持。如果需要在 Java 1.6 版本中使用 diamond 运算符,可以考虑升级到更高版本的 Java 或者手动指定泛型的类型参数。
idea 启动报错java: -source 1.5 中不支持 lambda 表达式
当您在使用 Java 编写代码时,如果出现 "idea 启动报错java: -source 1.5 中不支持 lambda 表达式" 这个错误信息,意味着您的 Java 版本过低,不支持 lambda 表达式这一新特性。
Lambda 表达式是在 Java SE 8(JDK 1.8)中引入的一个新特性,它可以用更简洁的方式编写函数式接口。Lambda 表达式在编写 Java 代码时可以让您的代码更加简洁、易读和易于编写。
要解决这个问题,您需要升级您的 Java 版本到 Java SE 8 或更高版本。您可以在 Oracle 官网上下载最新版的 Java SE Development Kit(JDK),并按照安装说明进行安装。
安装完成后,在使用 IntelliJ IDEA 进行 Java 编程时,您需要指定使用的 Java 版本。您可以在项目设置中设置项目的 JDK 版本,或者在全局设置中设置默认的 JDK 编译器版本。在设置后,重新编译您的代码,就可以使用 lambda 表达式进行函数式编程了。
总之,当您在使用 Java 进行编程时,了解不同版本的 Java 特性和功能是非常重要的。如果遇到启动报错 java: -source 1.5 中不支持 lambda 表达式 这个错误信息,您需要升级您的 Java 版本到支持 Lambda 表达式的版本,以便更好地使用 Java 进行编程。