-4

私はJavaが初めてで、コレクションで次のコードを試しています。

以下のコードで WARNING: としてコメントした警告を Eclipse で取得しています。

import java.util.*;

public class A {

    public static void main(String[] args) {
        LinkedHashMap map = new LinkedHashMap();

        // add some values in the map
        map.put("One", "1");
        // WARNING:       
        //      - Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap<K,V> should be parameterized
        //      - The method put(String, String) is undefined for the type LinkedHashMap

        map.put("Two", "2");
        System.out.println("Map:" + map);

        // get key "Three"
        System.out.println("" + map.get("Two"));  // WARNING:  he method get(String) is undefined for the type LinkedHashMap

        // get key "Five"
        System.out.println("" + map.get("Five"));
    }
}

これはサイトのコード サンプルであり、おそらく単純なものです。

エラーが発生するのはなぜですか? どうすれば修正できますか?

私はJavaが初めてです。クマと一緒にお願いします。

4

2 に答える 2

3

ジェネリックを使用してマップを適切に宣言することにより、すべての警告を一度に修正します。Java >=7 を使用している場合:

Map<String, String> map = new LinkedHashMap<>();

それ以外は:

Map<String, String> map = new LinkedHashMap<String, String>();
于 2013-11-12T21:45:02.623 に答える
0

まず、使用する必要があります。常にインターフェイスを使用することをお勧めします

Map map = new LinkedHashMap();

型安全性 簡単に説明すると、果物が入ったバスケットがある場合、そこに花を保存しますか? したがって、次のように宣言する必要があります

Map<String,String> map = new LinkedHashMap<String,String>();私のマップキーは文字列型で、値は文字列型の場合

于 2013-11-12T21:47:39.070 に答える