問題タブ [object-equality]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - オブジェクトの同等性とアイデンティティをテストするためにこのコードで使用される手法を説明してください
オブジェクトの同等性とアイデンティティをテストするためにこのコードで使用される手法を説明してください。
詳細な議論のために私にウェブリンク/本の参照を提供することができればもっと良いです。
一時オブジェクトとは何ですか?
c# - CLRタイプのObject.Equals(objA、objB)、objA.Equals(objB)、およびobjA == objBの違いは?
CLRタイプが次とは異なる結果を返すかどうか疑問に思っています。
私は、CLRの外部で、誰かがIEqualtable
Equalsを簡単に実装し、==演算子を不適切にオーバーロードする可能性があることを認識しています。私はこれらを不適切に実装している人々には関心がありません。私が懸念しているのは、クラス(String、Int32などを含む)がこれら3つを異なる方法で実装していることです。
また、可能であれば、全体(全体)の比較に使用するものをどれにする必要があります。Object.Equals(objA, objB)
他の2つではなくビューモデル全体を使用するファイルに出くわしたので、これは疑問に思います。
c# - Char.Equals 対 Object.Equals -- ReSharper は、Object.Equals を使用するよう提案しています。するべきか?
基本的に、この場合は ReSharper を聞くべきかどうか疑問に思っています...
ボックス化解除を回避するため、文字と比較すると Char.Equals(char) を使用する必要があると思われますが、Resharper は Object.Equals(obj) の使用を提案しています。多分私はここで何かを逃していますか?
DependencyProperty の裏付けがあるからだと思いますか?
c# - Object.Equals(Object、Object)でのNullReferenceException
状況
ILGeneratorを使用してラッパーを生成しています。Object.Equals(Object, Object)
ラッパーフィールドの等式比較の実装に使用します。デバッガーはNullReferenceException
、次のスタックトレースでをスローします。
Object.Equals(Object、Object)-分解
逆アセンブルでわかるようNullReferenceException
に、メソッド呼び出しがある部分に到達しないため、発生する可能性はありません。
考えられる問題
私が言ったように、ホールコードはILGeneratorを使用して生成され、これがエラーの唯一の原因である可能性があると思います。呼び出し元は内部に値型しかないため、オブジェクトがnullである可能性すらありません。
ILコードの呼び出し
java - JComboBox.setSelectedItem() の問題
私の jTable 列 8 は、米国の州の列です。これは、jComboBox に適切な項目を設定して状態を表示するコードです。
Buffered Reader を使用して Jtable を埋めると、以下のコードはコンボボックス項目を設定するのに非常にうまく機能しました。
解析の問題のため、自分で書き直すのではなく、デフォルトの CSVReader ライブラリを使用することにしました。jTable の入力に関する問題は解決されましたが、何らかの理由でこのコードが機能しなくなりました。何か不足していますか?
jComboBox(0) は「--」です。
助けてくれてありがとう。JB
python - Pythonコレクションのオブジェクトの同等性。Counter
私はcollections.Counterクラスのインスタンスを持っています。また、次のようなオブジェクトもあります。
同じ名前の人物オブジェクトは同じ人物カウントをインクリメントする必要があることを考慮して、Counterのインスタンスでこの人物オブジェクトのカウントを保持したいので、すべての人物オブジェクトのリストがある場合:
そして、私はカウンターにそれを入力します:
私は以下を取得したい:
私の最初の試みは__eq__
、人物オブジェクトの新しいメソッドを実装することでした
カウンターオブジェクトは、次のように、キーオブジェクトの同等性に基づいてキーのカウントをインクリメントするように見えるため、これが機能する可能性があると思いました。
別の試みは、Counterから継承し、Counterがオブジェクト間の同等性を測定するために使用する基本的なメソッドをオーバーライドする可能性があります。よくわかりませんが、Counterは__contains__
そのためのメソッドを使用すると思います。
私の質問は、継承を使用せずにこの動作を取得する方法があるかどうかです。そうでない場合、それを行うための最良の方法は何でしょうか。
ios - コア データ: setPrimitiveValue:forKey: 非常に奇妙な動作
これは謎です:
で呼び出しsetPrimitiveValue:forKey:
ていNSManagedObject
ます。キーは、オブジェクトの正当で永続的なモデル化された属性です。ただし、 setPrimitiveValue:forKey: は失敗し、別の任意の属性の値を設定することがよくあります。setPrimitiveValue:forKey:
ドキュメントによると、モデル化されていないキーを呼び出すときに、この動作が予期されるとのことです。そのため、Core Data はキーがモデル化されていないと考えているようです。
奇妙な部分:
キーが文字列リテラルとしてハードコーディングされている場合、プリミティブ値は実際に正常に設定されます。キーが変数の場合にのみ失敗します。私が使用している変数は、たまたまのkeyPath
引数から渡されますobserveValueForKeyPath:ofObject:change:context:
変数はkeyPath
文字列リテラルと同じです。isEqual:
true を返し、ハッシュ値は等しいです。keyPath
変数の型はです__NSCFString
。なぜsetPrimitiveValue:forKey:
違う振る舞いをするのか誰にも分かりますか?(この動作は OS X 10.9.1 でのものです)
より良い情報を含む更新:
不正なキーは、ディスク上のファイルからロードされた文字列にまでさかのぼります。以下の例は、孤立したケースです。属性文字列「mainAttr」がディスクに書き込まれ、読み戻されると、setPrimitiveValue:forKey:
「mainAttr」ではなく、間違った属性の値が設定されます。
コア データ オブジェクト:
-
javascript - JSON オブジェクト != JavaScript オブジェクト?
便宜上toJSON
、安全であることがわかっている JSON を処理するための簡単なプロトタイプを作成しました。
Web サービスのテストに使用しています。残念ながら、この簡単なテストでも:
失敗します:
この問題の原因となっている JavaScript について、私が知らないことは何ですか?
python - Python (2.7) では、os.remove が os.unlink と同一でないのはなぜですか?
何故ですか?os.unlink は os.remove のエイリアスではないでしょうか?
javascript - 同じオブジェクトは常に同じではありませんか?
次のコードの最後で がb
等しくないのはなぜですか?null
a
とb
は 1 つのオブジェクトに関連付けられた 2 つの参照であるため、両方とも になると思いましたnull
。