2012-05-13 8 views
0

キーがコンパイルタイプの文字列であること以外に、他にも利点がありますか?またはそれを放棄することはできますか?私が格納している値は複数のタイプにすることができますMap <String、Object>としてマップを宣言する利点はありますか?

+0

'Map 'は良いスタートです。 'Object'をもう少し正確にする方法を考えられますか?確かにあなたはオブジェクトに_何かをして、何らかのメソッドを呼び出しています。 –

+1

同じマップに複数の型の値を格納することはできません。 –

答えて

4

Mapとジェネリックタイプの情報が指定されていない場合は、は非推奨のです。ここではほとんどのIDEが警告を生成しています。これは、たとえそれがMap<Object, Object>であっても、残された重要なものです。また、コンパイル時にキーがStringであることを確認するには、実際にはかなりの時間がかかります。

技術的には、コンパイル時に型が消去されるため、コードの実行中に利点はありません。しかし、Java 5以来、ジェネリック・タイプの情報を常に含めるべきです。

2

Map<String, Object>を使用する利点は、主にコードの可読性です。 他の開発者がコードを読む方が簡単ですし、キャスト操作もいくつか保存されます。 コンパイル後、ジェネリックは削除されるので、アプリケーションには実質的な影響はありません。 以下も参照できます。reason generics were introduced in java 5

+0

主に安全性を主に入力します。 – EJP

関連する問題