gpt4 book ai didi

java - JSObject.equals() 表示 JSObject.getWindow() 不等于 JSObject.getWindow()

转载 作者:行者123 更新时间:2023-12-01 05:21:03 25 4
gpt4 key购买 nike

JSObject.equals 的文档说:

Determines if two JSObject objects refer to the same instance.

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

JSObject.getWindow(applet).equals(JSObject.getWindow(applet))

我期望true...

最佳答案

看起来getWindow返回了一个新的JSObject来描述窗口。因此,每次调用 getWindow 都是一个新实例,但具有相同的数据,因此 equals 返回 false。两个 JSObject 都描述了窗口,但不是同一个对象。

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 方法使其更清晰。

关于java - JSObject.equals() 表示 JSObject.getWindow() 不等于 JSObject.getWindow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com