我要遵守队列限制。当超出限制时,我想通过调用方法来创建另一个队列
我试图在重写的观察者更新方法中调用newqueue(创建新队列)方法。
public void update(Observable o,Object arg){
Bank bank = new Bank();
if(arg == "went_over"){
System.out.println("went over the limit");
bank.newqueue(); //didn't work
}
该在哪里调用该newqueue方法?
答案 0 :(得分:0)
您能否提供更多背景信息?另外一些代码片段可能会给我们提供密钥。
无论如何,您正在将arg
与String
进行比较。如果收到的对象是字符串,则很酷。如果不是,它可能无法按预期工作。我想说if(arg.getName() == "went_over")
是这样,假设您传递的所有对象都具有这种方法?
答案 1 :(得分:0)
从您发布的github链接(具有不同的代码,但是尽管如此)开始,问题在于在update
方法中,您调用了addtoque2
(我认为这就是您所指的{ {1}},在此)上新创建的newqueue
实例上。因此,您使用
Bank
在Bank bank = new Bank();
方法中作为局部变量是唯一调用此方法的方法。我假定,您实际上想对在update()
中创建的实例执行操作。如果是这样,则您必须以某种方式在main
中对其进行引用。有几种方法可以做到这一点,包括:
update
中将Bank
的一个字段(在本例中为您的FrontOfficer
)中,并通过该字段进行访问。Observable