4

これは私が知っておくべきことですが、私はそれに空白を描いており、グーグルで答えを見つけようとするのに驚くほどの困難を抱えています.

Java Collection、特にConcurrentHashMap. 特に独自のクラスを使用して、非汎用のキーと値のペアで使用する独自のハッシュ マップ クラスを作成したいと考えています。

したがって、クラスを次のように定義しました。

public class hashMap extends ConcurrentHashMap<class1, class2>

問題は、コンストラクターが非ジェネリックになるように適切に記述する方法を忘れていることです。たとえば、元のconcurrentHashMapでは、キーと値のペアのクラスを指定してコンストラクターを呼び出す必要があります。hashMap()これらのジェネリックを指定する必要なく、単にコンストラクターを呼び出すことができるようにしたいのです。

コンストラクターを呼び出してみましsuper<class1, class2>();たが、エラーが発生しました。

これは非常に単純なもののように思えます。これを行う方法を以前は知っていたと思いますが、しばらくして、空白を描いていると言ったように.

ありがとう。

4

1 に答える 1

6

単純super();に機能するか、暗黙的に機能するため、まったく機能しません。new HashMap<String,Integer>();これは、メソッド呼び出しと同じ意味でのコンストラクター呼び出しではないことに注意してください。インスタンス化する型の仕様+コンストラクター引数です。コンストラクター自体は型引数を受け取りません。それらは呼び出しサイトの型情報としてのみ存在します。

于 2012-08-23T21:24:56.380 に答える