当我为 antlr 项目编译所有 java 文件时,我有一个名为 llang 的包和一个名为 Scope 的类。因此,在我的 Scope.java 文件中,我有:
package llang;
import java.util.HashMap;
import java.util.Map;
import llang.*;
public class Scope {
Map<String, Function> memory;
Map<String, Function> parent;
public Scope () {
this(new HashMap<String, Function>());
}
public Scope (HashMap<String, Function> parentScope) {
memory = new HashMap<String, Function>();
parent = parentScope;
}
public void assign (String k, Function v) {
if (memory.get(k) == null) memory.set(k, v);
}
public Function retreive (String k) {
Function res = memory.get(k);
if (res == null) return parent.get(k);
return res;
}
public boolean has (String k) {
return retreive(k) != null;
}
}
在我的整个项目中没有任何地方是另一个“Scope”类或“Scope”文件。然而,当我编译它时,它说:
./Scope.java:7: error: duplicate class: llang.Scope
public class Scope {
^
救命!
最佳答案
修复?删除import llang.*
并替换为:import llang.<Whatever other classes>
。谢谢,@AndrewTobilko
关于java - 错误 : duplicate class: llang. 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714106/