HashMapのでファクトリメソッドオブジェクトとアクセスの問題を持ちます

コード初心者くさいです:

私は、構文を使用して、コンパイラの問題を有し、かつ上で動作するように、この方法を望んでいますHashmapオブジェクトmyMap私は必要Add取る方法をString値を使用し、Hashmap put(キー、値)のペアを追加する機能を。

私はのファクトリメソッド開始入れてみましたnewMap内部をmain、アクセスの問題がありました。

 import java.util.*;

  public class MyMap {

  public static String item;
  public static String brand;

  Map<String, String> myMap = newMap();

   public static void main(String[] args) {

    myMap.Add("apple");   

   }

   public static HashMap<String, String> newMap() {
   return new HashMap<>(); 
    } 

   public static void Add(String item)  {
    String brand = "nobrand";
    myMap.put(item, brand);
  }   


}

静/非静的項目にコンパイルエラー。私は彼らに、クラス全体で、すべてにアクセスできるようにするすべての静的を作りました。

保存:

次の2つのミスがあります:

まず、あなたは確認する必要がありmyMap、このような静的:

static Map<String, String> myMap = newMap();

第二に、あなたは変更する必要がありますmyMap.Add("apple");Add("apple");あなたがいないメインクラスのメソッドを記述するためにHashMap、あなたがそのようにそれを呼び出すことを期待していることともAdd方法は静的であり、へのアクセス権を持っていますmyMap

総クラスは次のようになります:

import java.util.HashMap;
import java.util.Map;

public class Test {

    public static String item;
    public static String brand;

    static Map<String, String> myMap = newMap();

    public static void main(String[] args) {

        Add("apple");

    }

    public static HashMap<String, String> newMap() {
        return new HashMap<>();
    }

    public static void Add(String item) {
        String brand = "nobrand";
        myMap.put(item, brand);
    }

}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=205073&siteId=1