0

我对 java 很陌生,但一直在阅读一些内容,并试图在 Eclipse 中制作一个相当简单的 android 应用程序。我有以下代码行:

    ArrayList<String> userNumbers = new ArrayList<>(Arrays.asList(userNumbersArray));

当然,我得到了错误:

'<>' 不允许用于低于 1.7 的源级别

所以我在 Eclipse 中将源级别更改为 1.7,然后出现错误:

Android 要求编译器合规级别为 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性。

所以我这样做;然后编译器级别回到 1.6,现在我得到第一个错误。

我的问题是,是否有一种方法可以与 android 和菱形运算符兼容,或者是否有另一种方法可以编写该行代码(仍然使用数组列表;必须指定它是一个字符串)。

先感谢您!

4

1 回答 1

3

只需将您的代码行更改为

ArrayList<String> userNumbers = 
   new ArrayList<String>(Arrays.asList(userNumbersArray));

该符号将在 1.7 版本之上和之下得到支持。

当您不在等式右侧的菱形中添加字符串时,您正在使用菱形运算符。添加了菱形运算符以减少 Java 代码的冗长,但您实际上不必使用它。如果您愿意,您仍然可以在等式右侧的菱形中指定类型。

注意:如果您仍在学习 Java 和/或了解菱形运算符请参阅此问题中的答案:Java 7 中菱形运算符的意义何在?

于 2014-09-22T20:05:08.487 回答