java: -source 1.5 中不支持 diamond 运算符
时间: 2023-09-01 19:11:27 浏览: 60
Java 7 引入了 Diamond 操作符,可以在实例化泛型类时省略泛型参数类型,例如:
```java
List<String> list = new ArrayList<>();
```
这个 Diamond 操作符可以有效地简化代码,但在使用 -source 1.5 编译源代码时,会提示以下错误:
```
diamond operator is not supported in -source 1.5
```
这是因为在 Java 5 中还没有引入 Diamond 操作符,所以在编译时会出现错误。
解决方法是将 -source 参数改为 1.7 或更高版本:
```
javac -source 1.7 MyClass.java
```
或者在 IDE 中将编译器版本设置为 1.7 或更高版本。
相关问题
Error:(67, 77) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
在Java中,diamond运算符是在JDK 7中引入的一种语法糖,它可以让编译器自动推断泛型类型。然而,在使用旧版本的JDK时,如果使用了diamond运算符,就会出现类似于"Error:(67, 77) java: -source 1.5 中不支持 diamond 运算符"的错误。这是因为在旧版本的JDK中不支持diamond运算符。
为了解决这个问题,我们可以升级JDK版本到7或更高版本,或者在编译时使用-source 7或更高版本的选项启用diamond运算符。具体来说,可以在编译时使用以下命令:
```
javac -source 7 <filename>.java
```
这将使用JDK 7的语法规则编译Java源代码,并启用diamond运算符。
java: -source 1.5 中不支持 diamond 运算符,怎么解决
Diamond运算符是Java 7中引入的新特性,如果你在使用Java 5编译器时尝试使用它,就会出现错误。为了解决这个问题,你需要手动指定泛型类型,而不使用Diamond运算符。例如,如果你在Java 5中需要创建一个ArrayList,可以这样写:
```java
ArrayList<String> list = new ArrayList<String>();
```
这里我们手动指定了泛型类型为String,而没有使用Diamond运算符。这样就可以在Java 5中编译和运行代码了。