首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较Javaflow中的两个continuations?

如何比较Javaflow中的两个continuations?
EN

Stack Overflow用户
提问于 2012-04-19 08:11:09
回答 1查看 153关注 0票数 1

我是javaflow的新手。考虑以下基本示例:

代码语言:javascript
复制
class MyRunnable implements Runnable {

     public void run() {

      System.out.println("started!");
      for( int i=0; i<10; i++ )
      echo(i);
      }

      private void echo(int x) {

      System.out.println(x);
      Continuation.suspend();
     }

    }

    Continuation c = Continuation.startWith(new MyRunnable()); 
    Continuation d = Continuation.continueWith(c);
    Continuation e = Continuation.continueWith(d);
    Continuation f = Continuation.continueWith(d);

    if (e.equals(f)) System.out.println("They are equal!");
    else System.out.println("They are not equal!");

继续e和f都以相同的检查点(d)开始,并捕获相同的堆栈,而且它们都打印1。那么为什么“它们不相等!”?(程序提供此输出)。有人能给我解释一下吗?

EN

回答 1

Stack Overflow用户

发布于 2012-04-19 08:27:04

JavaFlow中的Continuations实现了默认的.equals()语义。也就是说,它们不会重载Object类的.equals()方法。

您可以在SVN repository的实现中亲眼看到它。

这就是说,即使您将Continuations设置为与相同的堆栈状态相对应,它们使.equals()工作的方式,它也将返回false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10219914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档