タグ付けされた質問 「equality」

等価とは、(1)アイテムが同じアイテム、変数、またはオブジェクトであるか、(2)アイテムが異なるアイテム、変数、またはオブジェクトであるが、同じ値である場合に存在する、2つ以上のアイテムまたは変数またはオブジェクト間の関係です。このタグは通常、プログラミング言語固有のタグだけでなく、データベースシステムなどの他のコンテキストタグとともに使用する必要があります。投稿には、同等性テストについて可能な限り多くのコンテキストを含める必要があります。

14
なぜx ==(x = y)は(x = y)== xと同じではないのですか?
次の例を検討してください。 class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // true } } Java言語仕様に、右側(x = y)と比較するために変数の前の値をロードすることを指示する項目があるかどうかはわかりません。 なぜ最初の式はにfalse評価されtrueますが、2番目の式はに評価されますか?私は(x = y)最初に評価されることを期待し、それからそれx自体と比較して(3)戻りtrueます。 この質問は異なっているJava式で部分式の評価順序という点で、xここでは間違いなく「部分式」ではありません。「評価」するのではなく、比較のためにロードする必要があります。質問はJava固有であり、表現はx == (x = y)、一般的に巧妙なインタビューの質問のために作成された、遠くにある非実用的な構成とは異なり、実際のプロジェクトからのものです。これは、比較および置換イディオムの1行の置換であると想定されていました …

12
Javaの2つのオブジェクトをnull値と比較します
Javaで2つの文字列が等しいかどうかを比較したいのですが、どちらかまたは両方がそうである場合null、単純にを呼び出すことはできません.equals()。最良の方法は何ですか? boolean compare(String str1, String str2) { ... } 編集: return ((str1 == str2) || (str1 != null && str1.equals(str2)));
189 java  null  equality 

3
Objective-Cでは、Javaの「instanceof」キーワードに相当するものは何ですか?
オブジェクト(などsomeObject)が別のタイプの変数(など)に割り当て可能(キャスト可能)かどうかを確認したいと思いますSpecifiedType。Javaでは、私は書くことができます: someObject instanceof SpecifiedType 関連する質問は、オブジェクトの実行時の型が別の型と等しいかどうかを見つけることです。Javaでは、私は書くことができます: someObject.getClass().equals(SpecifiedType.class) Objective-Cでこれを行うにはどうすればよいですか?

4
IEquatableとObject.Equals()をオーバーライドするだけの違いは何ですか?
Foodクラスがの別のインスタンスと等しい場合はいつでもテストできるようにしたいFood。後でリストに対して使用し、そのList.Contains()メソッドを使用したいと思います。実装するIEquatable<Food>か、単にオーバーライドする必要がありますObject.Equals()か?MSDNから: このメソッドは、T(リスト内の値のタイプ)に対するIEquatable.Equalsメソッドのオブジェクトの実装によって定義されているデフォルトの等値比較子を使用して、等値を決定します。 だから私の次の質問は:.NETフレームワークのどの関数/クラスが利用するのObject.Equals()ですか?そもそも使った方がいいですか?
185 c#  .net  equals  equality  iequatable 


21
Javaでフロートを比較するために==を使用することの何が問題になっていますか?
このjava.sunページによると ==、Javaの浮動小数点数の等価比較演算子です。 ただし、このコードを入力すると: if(sectionID == currentSectionID) エディターに入力して静的分析を実行すると、「==と比較したJAVA0078浮動小数点値」が表示されます。 を使用==して浮動小数点値を比較することの何が問題になっていますか?それを行う正しい方法は何ですか?

19
2つのコレクション内のアイテムの順序に関係なく、等しいかどうかを比較する
2つのコレクションを(C#で)比較したいのですが、これを効率的に実装するための最良の方法がわかりません。 Enumerable.SequenceEqualに関する他のスレッドを読みましたが、私が探しているものとは異なります。 私の場合、2つのコレクションに同じアイテムが含まれている場合(順序に関係なく)、2つのコレクションは等しくなります。 例: collection1 = {1, 2, 3, 4}; collection2 = {2, 4, 1, 3}; collection1 == collection2; // true 私が通常行うことは、1つのコレクションの各アイテムをループして他のコレクションに存在するかどうかを確認し、次に他のコレクションの各アイテムをループして最初のコレクションに存在するかどうかを確認することです。(長さを比較することから始めます)。 if (collection1.Count != collection2.Count) return false; // the collections are not equal foreach (Item item in collection1) { if (!collection2.Contains(item)) return false; // the collections are not equal …


7
jQueryオブジェクトの等価性
2つのjQueryオブジェクトが等しいかどうかをどのように判断しますか?特定のjQueryオブジェクトの配列を検索できるようにしたいと思います。 $.inArray(jqobj, my_array);//-1 alert($("#deviceTypeRoot") == $("#deviceTypeRoot"));//False alert($("#deviceTypeRoot") === $("#deviceTypeRoot"));//False
151 equality  jquery 

8
匿名型のLINQ Select Distinct
だから私はオブジェクトのコレクションを持っています。正確なタイプは重要ではありません。それから、特定のプロパティのペアのすべての一意のペアを抽出したいので、 myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); だから私の質問は:この場合、Distinctはデフォルトのオブジェクトのイコールを使用しますか(各オブジェクトは新しいので、私には役に立たないでしょう)、または異なるイコール(この場合、AlphaとBravoの等しい値)を実行するように指示できますか? =>等しいインスタンス)?これを行わない場合、その結果を達成する方法はありますか?


5
なぜ「null> = 0 && null <= 0」だが「null == 0」ではないのですか?
変数の型が1の場合は変数の値を1だけ増分し、numberそうでない場合は変数に0を割り当てるルーチンを作成するnull必要がありましたundefined。 最初の実装はv &gt;= 0 ? v += 1 : v = 0、数値ではないものはすべて算術式を偽にすると考えたためでしたが、null &gt;= 0真と評価されたため、それは間違っていました。次にnull、0のように動作することを学び、次の式はすべてtrueと評価されます。 null &gt;= 0 &amp;&amp; null &lt;= 0 !(null &lt; 0 || null &gt; 0) null + 1 === 1 1 / null === Infinity Math.pow(42, null) === 1 もちろん、nullis 0でnull == 0はありません。false と評価されます。これは、一見トートロジー的な表現を(v &gt;= 0 &amp;&amp; …

6
デフォルトの.equalsと.hashCodeはクラスでどのように機能しますか?
自分のクラスがあるとしましょう public class MyObj { /* ... */ } いくつかの属性とメソッドがあります。これは、equalsを実装せず、hashCodeを実装しません。 equalsとhashCodeを呼び出したら、デフォルトの実装は何ですか?オブジェクトクラスから?そして、彼らは何ですか?デフォルトのequalsはどのように機能しますか?デフォルトのhashCodeはどのように機能し、何が返されますか?==それらが同じオブジェクトを参照しているかどうかをチェックするだけなので簡単ですが、equals()メソッドとhashCode()メソッドはどうですか?

10
単一のベクトルのすべての要素が等しいかどうかをテストする
ベクトルのすべての要素が互いに等しいかどうかをテストしようとしています。私が思いついた解決策は、どちらもチェックを含む、やや回り道のようですlength()。 x &lt;- c(1, 2, 3, 4, 5, 6, 1) # FALSE y &lt;- rep(2, times = 7) # TRUE とunique(): length(unique(x)) == 1 length(unique(y)) == 1 とrle(): length(rle(x)$values) == 1 length(rle(y)$values) == 1 要素間の「同等性」を評価するための許容値を含めることができるソリューションは、FAQ 7.31の問題を回避するのに理想的です。 私が完全に見落としたタイプのテスト用の組み込み関数はありますか?2つのRオブジェクトidentical()をall.equal()比較するため、ここでは機能しません。 編集1 ここにいくつかのベンチマーク結果があります。コードの使用: library(rbenchmark) John &lt;- function() all( abs(x - mean(x)) &lt; .Machine$double.eps ^ …
101 r  vector  equality 

5
(“ foo” === new String(“ foo”))がJavaScriptでfalseと評価されるのはなぜですか?
文字列値を比較するときは常に===(3つの等しい、厳密な比較)を使い始めましたが、今では "foo" === new String("foo") これは偽であり、これと同じです: var f = "foo", g = new String("foo"); f === g; // false もちろん: f == g; // true それで、文字列の比較には常に==を使用するか、比較する前に変数を常に文字列に変換することをお勧めしますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.