我上了这门课,但我无法理解删除功能是如何工作的。为什么在Customer
之前需要成为班级名称(remove()
),这是什么意思Customer customer = (Customer) customers.firstElement();
你能帮助我吗?
private java.util.Vector customers = new java.util.Vector();
Server server;
void insert(AbstractEvent customer){
customers.addElement(customer);
}
/**
* @return the first customer in the queue
*/
Customer remove() {
Customer customer = (Customer) customers.firstElement();
customers.removeElementAt(0);
return customer;
}
int size() {
return customers.size();
}
答案 0 :(得分:2)
Customer remove()
remove()
方法返回Customer
类型的对象。这就是remove()
之前的班级名称。
Customer customer = (Customer) customers.firstElement();
customers.firstElement()
返回Vector
变量引用的customers
对象的第一个元素。由于customers
的类型是原始类型(即它没有指定存储在Vector
中的元素的类型),firstElement()
返回类型为Object
的对象,必须转换为Customer
类型才能分配给Customer
变量。
更换
private java.util.Vector customers = new java.util.Vector();
与
private java.util.Vector<Customer> customers = new java.util.Vector<>();
将允许简单地分配Vector的第一个元素而不进行强制转换:
Customer customer = customers.firstElement();