我是Java的新手.
我从我的BFS代码中提供了一个简短的片段.
public int bfs(Person p, Person q) {
private HashMap<Person, boolean> marked;
private int count;
marked = new marked<Person, boolean>();
count = new int;
}
Run Code Online (Sandbox Code Playgroud)
根据Eclipse,我在最后4行中都有错误.
语法错误:插入"Dimensions"以完成表达式/ referencetype.
我很感激任何意见/建议!
Sat*_*rma 16
此错误的原因 - 您正在尝试将原始对象传递给泛型类型声明,而泛型类型总是期望一个Wrapper类对象.如上所述,在代码中使用'Boolean'而不是'boolean'.
Satyendra Sharma 的答案是绝对正确的,但这里有一些关于错误消息到底是什么意思的推理。
该错误是由于使用原始类型引起的,该类型不能用作泛型类型参数。例如,List<boolean>是错误的,而List<Boolean>是正确的。包装类可用于包装原始值并生成可与泛型一起使用的引用类型。
消息“插入尺寸以完成表达式/引用类型”可能是因为为了使表达式变得有效,这里唯一有效的标记是一组方括号。
例如,
HashMap<Person, boolean[]> marked;
Run Code Online (Sandbox Code Playgroud)
就会编译得很好。这是因为,与 a 不同boolean,aboolean[]是一个对象。