这听起来可能是一个微不足道的问题,但我无法找到正确的解决方案。请求帮助。
问题:在我的代码中,我按顺序收到 2 个事件(一个接一个)。该顺序可以是先“事件 A”,然后“事件 B”,反之亦然。如果我的事件序列是AB,那么我需要采取一些行动,同样,如果我的事件序列是BA,那么我需要采取另一个行动。 但是,我发现很难确定序列并设置 boolean 值。 我想到的一种解决方案是使用堆栈。这两个事件都将被插入堆栈。我将检查堆栈大小是否为 2,然后弹出最后一个值并查看它是哪个事件。如果是A,那么我将为BA添加逻辑,如果是B,那么我将为AB添加逻辑。一旦完成,我将清除我的堆栈。
有没有更简单的方法?请指教
最佳答案
如果它是同步的,并且您只能拥有这些可能性,则只需要一个 boolean 值(hasOtherArrived)即可做到这一点:
当事件到达时,检查 hasOtherArrived 是否为 true:是否执行所需的代码(取决于到达的事件)并将 hasOtherArrived 设置为 false。否则将 hasOtherArrived 设置为 true。
AB 的一点模式(BA 情况类似)
关于Java - 确定事件顺序 - AB 或 BA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801912/