問題タブ [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 投票する
14 に答える
4895 参照

java - Java で equals() を正しく同期する

1 つのフィールドのみを含む次のクラスがありますi。このフィールドへのアクセスは、オブジェクト ("this") のロックによって保護されています。equals() を実装するときは、このインスタンス (a) と他のインスタンス (b) をロックする必要があります。スレッド 1 が a.equals(b) を呼び出し、同時にスレッド 2 が b.equals(a) を呼び出すと、2 つの実装でロックの順序が逆になり、デッドロックが発生する可能性があります。

同期されたフィールドを持つクラスに equals() を実装するにはどうすればよいですか?

0 投票する
8 に答える
61036 参照

java - JPAとHibernateを使用する場合、equalsとハッシュコードをどのように実装する必要がありますか

モデルクラスのequalsとハッシュコードをHibernateでどのように実装する必要がありますか?よくある落とし穴は何ですか?ほとんどの場合、デフォルトの実装で十分ですか?ビジネスキーを使用する意味はありますか?

遅延フェッチ、ID生成、プロキシなどを考慮に入れると、あらゆる状況で正しく機能させるのはかなり難しいように思われます。

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

java - Google App Engine、JDO、equals/hashCode

Google App Engine で正常に動作するアプリを入手しました。equals と hashCode を実装するのを忘れていた JDO 拡張オブジェクトの 1 つに気付きました (オブジェクトをセットで使用する必要があります)。だから私はしました。これらの実装で特別なことは何もしていません。実際、Eclipse を使用してそれらを生成しただけです。そのようです:

そのため、アプリで任意の URL にアクセスしようとすると、次の例外がスローされます。

/addUser javax.jdo.JDOUserException: Persistent class "クラス com.bpapa.myapp.domain.User は拡張されていないようです。エンハンサーを再実行して、出力のエラーを確認してください。" データベースにテーブルがありませんが、操作にはテーブルが必要です。このクラスの MetaData の仕様を確認してください。org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:427) で org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:249) で com.bpapa.myapp.servlet.AddUserServlet.doPost(AddUserServlet.java) :34)

私が間違ったことについてのアイデアはありますか?

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

java - 「.equals」と「==」の違いは何ですか?

私は今日講師を変えました、そして彼は私に奇妙なコードを使っていると言いました. (使っ.equalsたほうがいいと言ってくれて、その理由を聞くと「だから!」とのことでした)

次に例を示します。

私が慣れているものの代わりに:

2つの違いは何ですか。そして、なぜ彼の方法 (を使用.equals) が優れているのでしょうか?

クイック検索でこれを見つけましたが、その答えを本当に理解できません:

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

c# - Dictionary.Equals() には実装がありますか?

別の辞書 (IDictionary として入力された変数) と比較している辞書があります。d1.Equals(d2) を実行すると false が返されます。以下に独自のコードを記述すると、true が返されます。どちらもSystem.Collections.Generic.Dictionaryです。キー/値を比較する実装がありませDictionaryんか?Equals

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

c# - Double と Int を比較する最良の方法は何ですか?

C# の次のコードは機能しません。

では、質問: Double と Int を比較する最良の方法は何ですか?

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

c# - これは、等式および等式/不等式演算子を実装するための優れた/効率的なイディオムですか?

これを正しく行うのにいくつか問題があったので、これがカスタム不変クラスのEqualsメソッドと等式/不等式演算子を実装する効率的な方法であるかどうかについてフィードバックがあるかどうかを尋ねたいと思いました。これらの演算子は私のプログラムによって非常に頻繁に呼び出されるので、正しく取得できるようにしたいと思います。

0 投票する
8 に答える
339292 参照

c# - == よりも String.Equals を使用するのはなぜですか?

String.Equals()私は最近、大規模なコードベースを紹介され、すべての文字列比較が代わりに使用されていることに気付きました==

その理由は何だと思いますか。

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

sql - SQL で等しくない

MYSQL で「等しくない」コマンドを実行する方法があるかどうか疑問に思っています。つまり、「SELECT * FROM someTitle WHERE someLabel != 'something'」のようなコマンドを実行できますか? これを試みると、コードがエラーを返します。

助けてくれてありがとう!

0 投票する
2 に答える
401 参照

java - Java: 通知プロバイダーの実装と hashCode 駆動型マップの比較

ジェネリックリスナーの通知束用に抽象ジェネリックプロバイダーを実装しました。E子孫はnotifyListener(E)特定の通知コードでオーバーライドする必要があります。リスナーのバッキング リストには、 を選択しますWeakHashMap<K,V>。リスナーは弱参照として保持する必要があります。

典型的な使用:

すべてがうまく機能しますが、AbstractListリスナーとして子孫クラスが必要な場合、バッキングWeakHashMapはリスナーインスタンスを 1 つしか受け入れません! 明らかです-メソッドhashCode()equals()リスナーはすべてのインスタンス(空のリスト)に対して同じ値を返すため、WeakHashMap.put以前に追加されたリスナーのみを置き換えます。

最善の解決策は何ですか?

  1. 別の非 hashCode バッキング コレクションを使用します -- しかしWeakHashMap、弱い参照を自動的に管理するので、私にとってはとても便利です。

  2. 単純な実装の抽象クラスなど、非汎用リスナーを使用しますequals() { return (this == object); }が、これはそれほど柔軟ではありません

  3. addListener(E)単純な equals() を使用してリスナーにラッパーを使用します -- ただし、このラッパーは弱い参照のために呼び出し元に対して透過的ではありません

別のアイデア?