首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSObject.equals()表示JSObject.getWindow()不等于JSObject.getWindow()

JSObject.equals()表示JSObject.getWindow()不等于JSObject.getWindow()
EN

Stack Overflow用户
提问于 2012-05-01 18:08:55
回答 1查看 329关注 0票数 1

JSObject.equals的文档显示:

确定两个JSObject对象是否引用同一个实例。

相反,以下表达式的计算结果为false

代码语言:javascript
复制
JSObject.getWindow(applet).equals(JSObject.getWindow(applet))

我期待着true..。

EN

回答 1

Stack Overflow用户

发布于 2012-05-01 18:13:31

getWindow似乎返回了一个新的JSObject,它描述了窗口。因此,每次对getWindow的调用都是一个新实例,但是使用相同的数据,所以等于返回false。两个JSObjects都描述窗口,但不是同一个对象。

代码语言:javascript
复制
public class MyClass
{
  int a;
  public MyClass(int arg)
  {
    a = arg;
  }

  public MyClass getMyClass()
  {
    return new MyClass(a);
  }

  public static void main(String args[])
  {
    MyClass parent = new MyClass(1);
    MyClass obj1 = parent.getMyClass();
    MyClass obj2 = parent.getMyClass();
    System.out.println(obj1.equals(obj2));        
  }
}

这将打印为false,因为即使这些对象具有相同的值,它们仍然是不同的对象。

编辑:更新后使用get方法使其更清晰。

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

https://stackoverflow.com/questions/10402101

复制
相关文章

相似问题

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