无法理解remove()函数

时间:2017-02-01 19:19:55

标签: java queue

我上了这门课,但我无法理解删除功能是如何工作的。为什么在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();
}

1 个答案:

答案 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();