0

これは私の問題です。ハッシュコードを保存する列を持つデータベーステーブルにデータを保存します(または、JVMがオブジェクトを再配置してハッシュコードを変更できるため、IDなどの他の一意の文字列にすることもできます)。しかし、その文字列を取得したら、その文字列にマップされたオブジェクトにアクセスしたいと思います。次のように HashMap を使用して実行できます。

ConcurrentHashMap<String, MyClass> MyClassDictionary;

保存するオブジェクトの平均は +800 のようになります。この種のことを回避するために他のオプションを使用することもできますが、HashMap を使用するよりも良い方法を知っている人がいるかどうかを本当に知りたいです。

実装できる参照可能なインターフェイスについて何かを見つけました。次のリンクで確認できます: http://docs.oracle.com/javase/jndi/tutorial/objects/storing/reference.html

読んでくれてありがとう。

4

2 に答える 2

0

オブジェクトのhashCodeは明らかに一意ではありません。hashCode()メソッドが常に 0 を返すことはまったく問題ありません。他の識別子を使用する必要があります。

ここで 2 つの別々の問題を抱えているように見えます: オブジェクトはデータベースに保存されていますか、それとも単にメモリに保存されていますか? それらがメモリ内にのみある場合、プログラムが再起動するとオブジェクトが破棄されるため、識別子をデータベースに配置する理由はありません。それらがデータベースにある場合は、データベースの行から Java オブジェクトを再作成するためのある種のオブジェクト リレーショナル マッピング ソリューションが必要であり、JPA を検討する必要があります。

于 2013-08-01T02:35:24.593 に答える