2016-12-07 6 views
-2

Oracleのドキュメントでは、HashMapにMap.Entryを実装する静的内部クラスEntryがあります。たとえば、OuterClass.StaticNestedClassEntryクラスを直接使用して、JavaのHashMapsで行われたkey:valueペアのセットではなく、単一のkey:valueオブジェクトを作成できますか?

静的ネストされたクラスのオブジェクトを作成するには、次の構文を使用します:

HashMap<Integer,String> hm = new HashMap<Integer,String>(); 

私も 静的ネストされたクラスは外側のクラス名を使用してアクセスしていることをドキュメントからこれを読んで

HashMap.Entry<Integer,String> hm = new HashMap.Entry<Integer,String>(); 
た:私は、これに上記のコード部分を修正しかし
OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass(); 

エラー:Map.Entryをインスタンス化できません

ここで何ができるのですか?

答えて

0

スタンドアロンEntryを作成するためにAbstractMap.SimpleEntryを使用することができます。

Map.Entry<K, V> entry = new AbstractMap.SimpleEntry<>(key, value); 
+0

それは助けた、ありがとうございます。 –

+0

@ishaagarwal答えを受け入れることで感謝します。 – shmosel

+1

@ishaagarwalまたは 'AbstractMap.SimpleImmutableEntry'です。また、Java 9には 'Map.entry(k、v)'というstaticファクトリメソッドがあり、必ずしも 'AbstractMap。* Entry'インスタンスの1つではありませんが、' Map.Entry'インスタンスを返します。 –

関連する問題