JSObject.equalsのドキュメントには次のように書かれています。
2 つの JSObject オブジェクトが同じインスタンスを参照しているかどうかを判断します。
対照的に、次の式は次のように評価されfalse
ます。
JSObject.getWindow(applet).equals(JSObject.getWindow(applet))
私は期待していたtrue
...
JSObject.equalsのドキュメントには次のように書かれています。
2 つの JSObject オブジェクトが同じインスタンスを参照しているかどうかを判断します。
対照的に、次の式は次のように評価されfalse
ます。
JSObject.getWindow(applet).equals(JSObject.getWindow(applet))
私は期待していたtrue
...
ウィンドウを説明する newを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
より明確にする方法を使用するように更新されました。