JSObject.equals的文档显示:
确定两个JSObject对象是否引用同一个实例。
相反,以下表达式的计算结果为false
JSObject.getWindow(applet).equals(JSObject.getWindow(applet))我期待着true..。
发布于 2012-05-01 18:13:31
getWindow似乎返回了一个新的JSObject,它描述了窗口。因此,每次对getWindow的调用都是一个新实例,但是使用相同的数据,所以等于返回false。两个JSObjects都描述窗口,但不是同一个对象。
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方法使其更清晰。
https://stackoverflow.com/questions/10402101
复制相似问题