0

これは私のクラスです:

public class MyTreeMap
< K extends CharSequence, V extends CharSequence & Map > {
}

そして私のメイン:

{MyTreeMap< String, String > s = new MyTreeMap < >();}

エラーは何ですか?Netbeansこのエラーを教えてください:

型引数文字列が型変数Kの範囲内にありません。ここでKは型変数です。KはクラスMyTreeMapで宣言されたCharSequenceを拡張します。

型引数文字列は型変数Vの範囲内にありません。ここでVは型変数です。VはString、Mapを拡張します。クラスMyTreeMapで宣言されています。

4

1 に答える 1

1

パート:V extends CharSequence & Mapは、2番目のタイプが両方を拡張する必要があることを意味しますが、Stringは拡張しません。CharSequencesのマップをお探しですか?

public class MyTreeMap< K extends CharSequence, V extends Map<K, CharSequence> > {}

コメントのフォローアップとして、ジェネリックスを使用して、タイプの異なる2つの異なるオブジェクトを受け入れることはできません(getを呼び出したときに何が返されるかをどのように知ることができますか)。ValidTreeTypeMapおよびStringプロパティを持つというラッパークラスを作成し、これらのMapを作成できます。

于 2013-01-04T00:45:49.747 に答える