如何在匿名实现中删除侦听器

问题描述

使用匿名实现时,无法理解如何阻止耐心的课程收听主题

我尝试使用Subject变量,以便可以在reacttochange()中访问它;但不知道下一步该怎么做。

  import java.beans.PropertyChangeEvent;
    
    public class Patient
    {
      private int ticketNumber;
    
      public Patient(int ticketNumber,Subject subject)
      {
        this.ticketNumber = ticketNumber;    
        subject.addListener(this::reacttochange);  // implementing anonymous implementation
      }
    
      private void reacttochange(PropertyChangeEvent event)
      {
        int newValue = (Integer) event.getNewValue();    
        if(newValue == ticketNumber){
          System.out.println("Patient " + ticketNumber + " goes to the doctor's room");


          //need to delete this listener here

        } else {
          System.out.println("Patient " + ticketNumber + " goes back to looking at phone");
        }
      }
    
    }

Git hub link

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)