0
调用通用参数化方法是什么错误mesaage意味着,以及如何从另一个类调用泛型参数化方法: 以下是错误消息:在Java
The method add(int, Integer) in the type BinaryMinHeap<Integer> is not applicable for the arguments (int, Vertex<Integer>)
呼吁片段:
for(Vertex<Integer> vertex : graph.getAllVertex()){
minHeap.add(Integer.MAX_VALUE, vertex);
}
方法被称为是:
public void add(int weight,T key) {
Node node = new Node();
node.weight = weight;
node.key = key;
allNodes.add(node);
int size = allNodes.size();
int current = size - 1;
int parentIndex = (current - 1)/2;
nodePosition.put(node.key, current);
while (parentIndex >= 0) {
Node parentNode = allNodes.get(parentIndex);
Node currentNode = allNodes.get(current);
if (parentNode.weight > currentNode.weight) {
swap(parentNode,currentNode);
updatePositionMap(parentNode.key,currentNode.key,parentIndex,current);
current = parentIndex;
parentIndex = (parentIndex - 1)/2;
} else {
break;
}
}
}
那么,错误消息说, all:你传递一个'Vertex',但你需要传递一个'Integer'。 –
如何声明'minHeap'? –