arraylist初始化错误

She*_*Lee 3 java arraylist

我在初始化ArrayLists时遇到问题.

当我使用NetBeans 7.3时,我尝试这样做:

protected Stack<Scope> scopeStack;
protected ArrayList<Scope> allScopes;
scopeStack = new Stack<>();
allScopes = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

该文件完美编译,并且很好.

但是当我使用命令行切换到linux来编译java时.它给了我一个错误

src/SymbolTable.java:28: illegal start of type scopeStack = new Stack<>();      
SymbololTable.java:29: illegal start of type allScopes = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

这是由不同版本的java编译器引起的吗?或者造成这种情况的原因是什么?

Bor*_*der 10

我猜想在Netbeans中你使用的是Java 1.7,而在Linux上你使用的是Java 1.6.

"钻石操作员"仅在Java 7中引入.

使用javac -version看你运行的是什么版本的编译器.