作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个类 Book
,它有一个我创建的另一个类 Employees
的队列,如下所示...
class Employee{
String name;
int waiting_time;
int retaining_time;
int priority;
public Employee()
{
this.waiting_time=0;
this.retaining_time=0;
}
//getters and setters ommitted to save space
public void setPriority()
{
priority = waiting_time - retaining_time;
}
public int getPriority()
{
return priority;
}
}
class Book{
String name;
LocalDate start_date;
LocalDate end_date;
boolean archived;
Queue<Employee> Employees ;
public Book()
{
}
//getters and setters for end_date, start_date, archived ommitted to save space
public void setQueue(Queue<Employee> qa)
{
Employees = qa;
}
public Queue<Employee> getQueue()
{
return Employees;
}
当我尝试将 Employee
添加到 Book 的
队列时...
public static void addEmployee(String aName, ArrayList<Book> booksToCirculate, ArrayList<Employee> employeeArray)
{
Employee anEmployee = new Employee();
anEmployee.setName(aName);
employeeArray.add(anEmployee);
for (Book b : booksToCirculate)
{
b.getQueue().add(anEmployee); //adds employee to each queue, where the error is at
}
}
我在尝试将员工添加到队列时收到 NullPointerException
错误,我似乎无法弄清楚为什么,我已经阅读了我的书,看起来好像我'已经根据他们拥有的狗和狗玩具的示例完成了。非常感谢任何关于我哪里出错的建议!
此外,如果您对我的代码有任何疑问,请询问,我在类和对象方面相当陌生,但我会尽力解释自己!
最佳答案
看来您需要创建队列。因为你没有,它默认为 null
。因此:
b.getQueue()
正在返回 null
。
所以当你打电话
b.getQueue().add(...)
您正在尝试调用导致异常的 null
方法。
如果是这种情况,那么解决方案是在 Book
构造函数中创建队列:
public Book()
{
Employees = new Deque<Employee>(); // pick an implementation of the Queue interface
}
关于Java:A类中的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534377/
我是一名优秀的程序员,十分优秀!