問題タブ [equals]

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.

0 投票する
4 に答える
4617 参照

javascript - JavaScript でオブジェクトを比較する方法を定義するにはどうすればよいですか

JavaScript クラス Foo を定義したいと思います。

Foo の「インスタンス」を作成します。

標準の == 等値演算子を使用して、Foo のインスタンスを相互に比較できるようにします。

これを行う方法が見つかりません。私は関数で何かに取り組んでいると思っていましたvalueOf()が、これは比較の片側がプリミティブである場合にのみ有用であり、両方がオブジェクト型である上記の場合ではありません。

Ruby のものに似た本当に単純なものを見逃していませんか?

0 投票する
7 に答える
23755 参照

java - Long.valueOf(0).equals(Integer.valueOf(0))がfalseなのはなぜですか?

この質問は、奇妙なHashMap.put()の動作によって促されます

Map<K,V>.putなぜかかるのか理解していると思いますKが、Map<K,V>.getかかるのですがObject、そうしないと既存のコードが壊れすぎてしまうようです。

ここで、非常にエラーが発生しやすいシナリオに入ります。

Long値が範囲内にあり、値が等しい場合にtrueを返すことで、これを解決できませんでしたintか?

0 投票する
5 に答える
16596 参照

c# - C# UnitTest - 引数が null の場合、Assert.AreEqual() は Equals を呼び出さない

私は最近、Google が完全に説明できなかった奇妙な動作に出くわしました。

このテストは成功すると思います。ただし、Visual Studio 2008 / .NET 3.5 では失敗します。そのようにすることを意図したものですか、それともバグですか?

0 投票する
1 に答える
2338 参照

c# - 「as」と正確性、柔軟性、およびパフォーマンスのための特殊な方法を使用した C# の Equals のオーバーライド

C# で正確で柔軟かつ高速な Equalsを実装する最善の方法について考えてみました。パフォーマンスのためには、特殊な Equals (実際のクラスのオブジェクトをパラメーターとして受け取る) が必要であると考えました。コードの重複を避けるために、一般的な Equals は特殊化された Equals を呼び出す必要があります。継承されたクラスであっても、null チェックは 1 回だけ実行する必要があります。

私は最終的にこのデザインを思いつきました:

重要なアイデア:

  • 「as」演算子の使用。このようにして、一般的な Equals で null をチェックする必要がなくなります。間違ったクラス タイプは null に縮小され、特殊化された Equals に分類されます。
  • 派生クラスであっても、正確に 1 点で Null チェックを行います。
  • 属性を次々に確認すると、明確な構造が得られます。

この概念に欠陥はありますか、それとも条件を逃しましたか?

0 投票する
10 に答える
4256 参照

java - equals()が複数の独立したフィールドに基づいている場合のhashCode()メソッド

どちらかが等しい場合、このタイプのオブジェクトは等しいと見なされるように、2つのフィールドに基づいて等しいクラスがあります。このようなequals()のhashCode()関数を記述して、equalsがtrueを返すときにhashCodeが等しいという一般的なコントラクトが保持されるようにするにはどうすればよいですか?

このクラスのhashCode()関数を作成するにはどうすればよいですか?そして、私はここで次のような定数を返すという些細なケースを避けたいと思います。

0 投票する
16 に答える
364682 参照

sql - Equals(=) と LIKE の比較

SQL を使用する場合=WHERE句の代わりに使用する利点はありLIKEますか?

特別な演算子がなくてもLIKE同じ=ですよね?

0 投票する
4 に答える
1827 参照

c# - C#での値の同等性のためのカスタムクラスの最も堅牢なEquals実装

Point2クラスがあり、次のEqualsを実装したいとします。

これは、Effective C#3の本からのものです。

それはやり過ぎですか?

0 投票する
11 に答える
132651 参照

java - .equals() を生成するときに、instanceof よりも getClass() を優先する理由はありますか?

私は Eclipse を使用して と を生成.equals().hashCode()ています。「型を比較す​​るには 'instanceof' を使用する」というオプションがあります。デフォルトでは、このオプションはチェックされておらず、.getClass()型の比較に使用されます。私が好むべき理由はあります.getClass()instanceof

使用しない場合instanceof:

使用instanceof:

私は通常、instanceofオプションをチェックしてから、「if (obj == null)」チェックを外します。( null オブジェクトは常に失敗するため、冗長instanceofです。) それが悪い考えである理由はありますか?

0 投票する
1 に答える
485 参照

c# - アイテムのプロパティを比較して List.Contains を自動的に処理することは可能ですか?

List.Contains(myItem)リスト内のアイテムのプロパティが のプロパティと等しいかどうかを確認するために、同様のことを行うことができますかmyItem

(次のようなものを検討Containsしました。Exists

単純な表現は得られません。)

次のような単純なものが必要です。

少なくとも 1 つの項目が満たされる場合、このメソッドは自動的に true を返す必要がありますorderLines[i]

IEquatable<OrderLine>プロパティによって等しいものを実装しましProductたが、そこから先に進む方法が見つかりません。