2016-04-20 14 views
0

ケース1どちらがお勧めですか?静的クラスフィールドと別のクラスの静的フィールド?

 public class One{ 
      private static Map<String, String> map; 
      static{ 
       map = new HashMap<String,String>(); 
       map.put("1","One"); 
      } 

      public void print(){ 
       System.out.println(map.get("1")); 
      } 
     } 

ケース2:

 public class Constants{ 
     private static Map<String, String> map; 
      static{ 
       map = new HashMap<String,String>(); 
       map.put("1","One"); 
      } 
    } 

    public class Parser{ 
     public void print(){ 
       System.out.println(Constants.map.get("1")); 
      } 
    } 

私はちょうど私の問題を模倣しようとしました。 Mapは一定の値を持ちます。実行時からではなく静的を意味します。

ここではどのアプローチが最適ですか?

+3

はデザインによって異なります。地図を他のクラスと共有するために開いていますか?ちなみに、 –

+0

の場合は、2番目のケースの地図を公開する必要があります。 –

+0

このデザインで何を達成しようとしていますか?公開されている「地図」は変更可能ですが、あなたが望むものではないと感じています。 – Valentin

答えて

1

パブリッククラスを静的な最終マップで作成します。

public class Constants{ 
    public static final Map<String, String> map; 
    static{ 
     map = new HashMap<String,String>(); 
     map.put("1","One"); 
    } 
} 
関連する問題