变量预期 java 向量
Variable expected java vector
我正在编写用于交换 java.util.Vector
中的两个元素的代码。
但是我在这一行遇到了这个错误:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.elementAt(i) = maxHeap.get(j); // variable expected
maxHeap.get(j) = temp; // variable expected
swapCounter++;
}
那么,我应该如何更改矢量节点的元素?
顺便说一句,订单只是另一个 class,它是 vector
的每个节点,maxHeap
是我的 vector
.
您不能为方法的结果分配新值。相反,您可以使用 List
接口指定的 set
方法:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.set(i, maxHeap.get(j);
maxHeap.set(j, temp);
swapCounter++;
}
您不能将函数调用的结果分配给右值;相反,你使用 Vector.setElementAt(E, int)
like
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.setElementAt(maxHeap.get(j), i);
maxHeap.setElementAt(temp, j);
swapCounter++;
}
我正在编写用于交换 java.util.Vector
中的两个元素的代码。
但是我在这一行遇到了这个错误:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.elementAt(i) = maxHeap.get(j); // variable expected
maxHeap.get(j) = temp; // variable expected
swapCounter++;
}
那么,我应该如何更改矢量节点的元素?
顺便说一句,订单只是另一个 class,它是 vector
的每个节点,maxHeap
是我的 vector
.
您不能为方法的结果分配新值。相反,您可以使用 List
接口指定的 set
方法:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.set(i, maxHeap.get(j);
maxHeap.set(j, temp);
swapCounter++;
}
您不能将函数调用的结果分配给右值;相反,你使用 Vector.setElementAt(E, int)
like
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.setElementAt(maxHeap.get(j), i);
maxHeap.setElementAt(temp, j);
swapCounter++;
}